题意
- 将anagrams组合在一起,anagrams是同种单词却由不同顺序的组合
解法
- 统计英文字母的出现次数,次数相同即anagrams
- map将相同次数的单词都组合到一起
代码
vector<vector<string>> groupAnagrams(vector<string>& strs) {
vector<vector<string>> ans;
map<string, vector<string>> m;
for(auto str : strs) {
string tmp(26, '0');
for (auto c : str) {
tmp[c-'a']++;
}
m[tmp].emplace_back(str);
}
for (auto v : m) ans.push_back(v.second);
return ans;
}