2020-12-14 字母异位词分组
题目

解决方法:排序+哈希表
对字符串排序来判断两个字符串是否位字母异位词,使用哈希表来存储每一组字母异位词,哈希表的键位一组字母异位词的标志(一组词排序后的字符串),哈希表的值为一组字母异位词的列表。
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string, vector<string>> imap;
for (string &str:strs) {
string key = str;
sort(key.begin(), key.end());
imap[key].emplace_back(str); // 根据标志将字符串放入响应列表
}
vector<vector<string>> ans;
for (auto it = imap.begin(); it != imap.end(); ++it) {
ans.emplace_back(it->second);
}
return ans;
}
};
提交结果

总结
CS专业在读,热爱编程。
专业之外,喜欢阅读,尤爱哲学、金庸、马尔克斯。
专业之外,喜欢阅读,尤爱哲学、金庸、马尔克斯。

浙公网安备 33010602011771号