题目:
分析:
想到两个思路,一个是排序。然后使用哈希表。map
一个是并查集。
这个题就可以使用排序+哈希。因为属于哪一个类一看就看出来了。
而并查集问题一般给集合,所以不能用上述方法。
代码:排序,哈希:
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
vector<vector<string> > vv;
vector<string> v;
map<string,int> m;
int c=0;
for(int i=0;i<strs.size();i++)
{
string s=strs[i];
sort(s.begin(),s.end());
if(m[s]!=0)
{
vv[m[s]-1].push_back(strs[i]);
}
else{
vv.push_back(v);
vv[c].push_back(strs[i]);
c++;
m[s]=c;
}
}
return vv;
}
};