49.字母异位词分组
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
- 由于每个字母异位词排序后是相同的,所以把排序后的字符串作为key,原先的字符串作为value存入一个哈希表中。
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
vector<vector<string> > res;
unordered_map<string,vector<string>> m;
for(int i = 0;i < strs.size();i++){
string tmp = strs[i];
sort(tmp.begin(),tmp.end());
m[tmp].push_back(strs[i]);
}
for(auto &ass:m){
res.push_back(ass.second);
}
return res;
}
};
通过时间: