49. Group Anagrams
Given an array of strings, group anagrams together.
For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"],
Return:
[
["ate", "eat","tea"],
["nat","tan"],
["bat"]
]
Note: All inputs will be in lower-case.
class Solution {
public:
vector<vector<string> > groupAnagrams(vector<string>& strs) {
vector<vector<string> > ans;
int n = strs.size();
map<string,vector<string> > mp;
map<string,int> vis;
for(int i = 0;i < n; i ++){
string s = strs[i];
sort(s.begin(),s.end());
vis[s] = 1;
mp[s].push_back(strs[i]);
}
for(int i = 0;i < n;i ++){
string s = strs[i];
sort(s.begin(),s.end());
if(vis[s]){
ans.push_back(mp[s]);
vis[s] = 0;
}
}
return ans;
}
};
108



被折叠的 条评论
为什么被折叠?



