一、题目
二、思路
1、将为异构字符串的放在一起
2、采用排序+哈希的方法;将排好序的字符串作为key(异构的字符串排好序之后是相同的)
三、代码
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
int size=strs.size();
unordered_map<string,vector<string>>dic;
for(int i=0;i<size;++i){
string temp=strs[i];
sort(temp.begin(),temp.end());
if(dic.find(temp)==dic.end()){
dic[temp]=vector<string>{strs[i]};
}
else{
dic[temp].emplace_back(strs[i]);
}
}
vector<vector<string>>res;
for(auto it=dic.begin();it!=dic.end();++it){
res.emplace_back(it->second);
}
return res;
}
};