推荐博客:
for(auto i : v)遍历容器元素_for auto 遍历-CSDN博客
字母异位词都有一个特点:也就是对这个词排序之后结果会相同。所以将排序之后的string作为key,将排序之后能变成key的单词组vector<string>作为value。
class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {unordered_map<string,vector<string>> hmap;int len=strs.size();for(int i=0;i<len;i++){string temp=strs[i];sort(temp.begin(),temp.end());hmap[temp].emplace_back(strs[i]);}vector<vector<string>> res;int len_hmap=hmap.size();for(auto i:hmap){res.emplace_back(i.second);}return res;}
};
1.sort字符串写法
sort(temp.begin(),temp.end());
2.在 vector 容器尾部添加一个元素
hmap[temp].emplace_back(strs[i]);
3.遍历哈希表(value)
for(auto i:hmap){res.emplace_back(i.second);}