leetcode-Group Anagrams-49
输入一组字符串,将有相同字符的字符串分到一组,输出分好的组
这里我用一个map<string,vector<string> >来保存一个字符串中出现的字符以及对应的分组,之后拷贝到vector<vector<string> >中返回即可
1 class Solution { 2 public: 3 vector<vector<string> > groupAnagrams(vector<string>& strs) { 4 map<string,vector<string> > mp; 5 for(int i=0;i<strs.size();i++){ 6 string s=strs[i]; 7 sort(s.begin(),s.end()); 8 mp[s].push_back(strs[i]); 9 // if(mp.count(s)){ 10 // mp[s].push_back(strs[i]); 11 // } 12 // else{ 13 // mp[s] 14 // } 15 } 16 vector<vector<string> > v; 17 map<string,vector<string> >::iterator it; 18 for(it=mp.begin();it!=mp.end();it++){ 19 v.push_back(mp[it->first]); 20 } 21 return v; 22 } 23 };