【题目描述】
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。
【解答】
典型的map
get到了emplace_back的美妙!
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string, vector<string>> m;
for (string& str: strs) {
string key = str;
sort(key.begin(), key.end());
m[key].emplace_back(str);//emplace_back是增加了构造的功能,push_back则没有
}
vector<vector<string>> ans;
for (auto it = m.begin(); it != m.end(); ++it) {
ans.emplace_back(it->second);
}
return ans;
}
};