题目
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
思路
将字符串按字符升序排列后作为key,原字符串作为value存储到map上。
代码
class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {map<string,vector<string>>mp;map<string,vector<string>>::iterator it;vector<vector<string>>ans;mp.clear();ans.clear();for(int i=0;i<strs.size();i++){string str = strs[i];sort(str.begin(),str.end());mp[str].push_back(strs[i]);}for(it=mp.begin();it!=mp.end();it++){ans.push_back(it->second);}return ans;}
};