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 };

 

posted @ 2016-08-30 17:29  0_summer  阅读(191)  评论(0编辑  收藏  举报