一、思路:
对每一个字符串排序,然后将这个排序的字符串加到map里面,对于每一个新遍历的字符串就和map比较是否相等。
最开始用map,会出现超时,于是采用hash实现结构的unordered_map就不会超时,在50%的效率左右
二、代码:
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string, int> stringCountMap;
for (string str : strs) {
string temp = str;
sort(temp.begin(), temp.end());
if (stringCountMap.count(temp) > 0)
{
res[stringCountMap[temp]].push_back(str);
}
else {
stringCountMap.insert(pair<string, int>(temp, stringCountMap.size()));
vector<string> resList = { str };
res.push_back(resList);
}
}
return res;
}
private:
vector<vector<string>> res;
};