https://leetcode.com/problems/group-anagrams/
这也是一类查找问题,但是此查找问题需要灵活思考map中的键值关系,以更好的解决问题,在这里,因为所有的anagrams,对字符串进行排序后得到的结果相同,因此可以用排序结果作为Key ,这样一趟遍历就可以快速将其进行分类,代码如下
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string,vector<string>> table;
for(int i = 0;i< strs.size();i++){
string s1 = strs[i];
sort(s1.begin(),s1.end());
table[s1].push_back(strs[i]);
}
vector<vector<string>> res;
for(auto e : table){
res.push_back(e.second);
}
return res;
}
};