C++速通LeetCode中等第1题-字母异位词分组
思路要点:对字符串排序,排序结果存放在map的key中,排序结果相同的字符串存放到map的value中 。
class Solution {
public:
string keys;
vector<vector<string>> groupAnagrams(vector<string>& strs) {
vector<vector<string>> ans;
map<string, vector<string>> m;
keys.resize(strs.size());
for (string& str : strs)
{
string key = str;
sort(key.begin(), key.end());
m[key].emplace_back(str);
}
for (auto it = m.begin(); it != m.end();it++)
{
ans.emplace_back(it->second);
}
return ans;
}
};