题目:字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
方案一:哈希表
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string,int>heap;
//string存储索引,int存储结果数组中的位置
vector<vector<string>>ans;
for(int i=0;i<strs.size();i++)
{
string t=strs[i];
sort(t.begin(),t.end());
if(heap.count(t))
{
int u=heap[t];
ans[u].push_back(strs[i]);
}
else
{
vector<string>tmp;
tmp.push_back(strs[i]);
int u=ans.size();
ans.push_back(tmp);
heap[t]=u;
}
}
return ans;
}
};