题目描述
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
思路复盘
建立一个哈希表,依次遍历数组中的元素,按照字母序排序后加入对应的哈希值数组中。最后依次解压出来返回答案
代码
C++实现
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string, vector<string>> mp;
for(auto& str : strs){
string sorted_str = str;
ranges::sort(sorted_str);
mp[sorted_str].push_back(str);
}
vector<vector<string>> ans;
for(auto& [_, value] : mp){
ans.push_back(value);
}
return ans;
}
};