目录
1.字母异位词分组
1.字母异位词分组
对于这道题来说,关键的地方在于字母异位词他们排序后的字符串完全相等,所以我们可以通过哈希表来建设一个字符串和其排序相同的字符串数组的映射关系
class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {vector<vector<string>> ret;unordered_map<string, vector<string>> hash;for(auto str : strs){string key = str;sort(key.begin(), key.end());hash[key].push_back(str);}for(auto it = hash.begin(); it != hash.end(); ++it)ret.push_back(it->second);return ret;}
};
我们通过遍历整个字符串数组,将排序后相同的字符串插入同一个数组,最后只需要遍历哈希表,将结果插入结果数组中即可