LeetCode_Anagrams

Given an array of strings, return all groups of strings that are anagrams.

Note: All inputs will be in lower-case.

  

class Solution {
private:
    vector<string>  result;
    map<string, vector<string>> m;
public:
    vector<string> anagrams(vector<string> &strs) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        result.clear();
        m.clear();

        int n = strs.size();
        for(int i= 0; i< n;i++)
        { 
           string tmp = strs[i];
           sort(tmp.begin(), tmp.end()) ;
           m[tmp].push_back(strs[i]);
        }
        for(map<string, vector<string>>::iterator iter= m.begin(); iter != m.end(); iter++)
        {
            if((iter->second).size() >1)
            {
              for(int i= 0; i < (iter->second).size() ; i++    )          
                result.push_back((iter->second)[i]);
            }
        }
        return result;
        
    }
};
--------------------------------------------------------------------天道酬勤!
原文地址:https://www.cnblogs.com/graph/p/3065876.html