1、题目:
2、解题思路
由于存在字母异位词,所以必有一些字符串排序完后是一样的,所以先对字符串进行排序,然后将排序好的字符串作为键,然后将原字符串作为值放入哈希表中。
3、代码
class Solution
{
public:
vector<vector<string>> groupAnagrams(vector<string>& strs)
{
unordered_map<string,vector<string>>hash;
for(auto&str:strs)
{
auto s = str;
sort(begin(s),end(s));
hash[s].push_back(str);
}
vector<vector<string>>ans;
for(auto elem : hash)
{
ans.push_back(elem.second);
}
// for(auto&[_,v]:hash)
// ans.push_back(v);
return ans;
}
};