思路:
本道题的思路是把所有同类的单词都映射到一个相同的形态,即排序。字典顺序下都是一样的。
然后再用一个hash把每个映射成相同形态的单词 存到一个组里面
代码:
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string,vector<string>> hash;
vector<vector<string>> res;
for(auto str:strs){
string nstr=str;
sort(nstr.begin(),nstr.end());
hash[nstr].push_back(str);
}
for(auto i :hash){
res.push_back(i.second);
}
return res;
}
};
评论区