Leetcode 49 Group Anagrams
这道题属于查找表问题,最核心的内容在于key和value分别保存什么样的值。
刚开始想了很久也没想出来,因为这道题正确的解答之一是利用unordered_map<string, vector<string>>,即value是个容器。
key是对每个字符串进行排序后的结果。
class Solution { public: vector<vector<string>> groupAnagrams(vector<string>& strs) { vector<vector<string>> res; unordered_map<string, vector<string>> hashmap; for(int i=0; i<strs.size(); ++i) { string str_bak(strs[i]); string str = strs[i]; sort(str.begin(), str.end()); hashmap[str].push_back(str_bak); } unordered_map<string, vector<string>>::iterator it; it = hashmap.begin(); while (it != hashmap.end()) { res.push_back({it->second}); ++it; } return res; } };

浙公网安备 33010602011771号