用哈希表解决字母异位词分组问题
map的key为排序好的字符串,value为答案
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string,vector<string>> mp;
for(string& str : strs){
string key = str;
sort(key.begin(),key.end());
mp[key].push_back(str);
}
vector<vector<string>> ans;
for(auto it = mp.begin(); it != mp.end(); ++it){
ans.push_back(it->second);
}
return ans;
}
};
本文介绍了如何使用哈希表(unordered_map)进行排序并分组,解决字母异位词问题。通过将字符串转换为排序后的键值,快速聚集具有相同字符排列的字符串。
487

被折叠的 条评论
为什么被折叠?



