核心思想:
利用mashmap来存储同构词对应的字符表。其中每一个key对应着结果vector中字符集所在的index。
运行耗时:26ms
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
vector<vector<string>> words;
unordered_map<string,int> keys;
for (auto str : strs) {
string key = str;
sort(key.begin(), key.end());
if (keys.count(key)) {
words[keys[key]].push_back(str);
}
else {
keys[key] = words.size();
words.push_back(vector<string>(1, str));
}
}
return words;
}
};