观察题目,需要把strs中的元素按照字母进行归类,一个朴素的思路是:遍历strs,对每个元素排序后插入哈希表中,随后再遍历一遍表将其转化为vector<vector<string>>。
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string, vector<string>> hashtable;
for(int i = 0;i<strs.size();i++){
string str = strs[i];
sort(str.begin(), str.end());
hashtable[str].push_back(strs[i]);
}
vector<vector<string>> ans;
for(auto i : hashtable){
ans.push_back(i.second);
}
return ans;
}
};