group-anagrams
49. 字母异位词分组
题解
这个还是比较容易想到的, 先排序,将排序的结果当成 hashmap 的 key。value 存答案数组下标。
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string,int> m;
vector<vector<string>> result;
for(auto s:strs){
auto bak = s;
sort(s.begin(),s.end());
auto it = m.find(s);
if(it==m.end()){
result.push_back(vector<string>{});
m[s] = result.size()-1;
result.back().push_back(bak);
}else{
result[it->second].push_back(bak);
}
}
return result;
}
};