leetcode49. Group Anagrams
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
map<string,vector<string>> mapPos;
string key;
for(int i=0;i<strs.size();i++){
key = string(strs[i].begin(),strs[i].end());
sort(key.begin(),key.end());
if(mapPos.find(key)==mapPos.end()){
mapPos[key] = vector<string>();
}
mapPos[key].push_back(strs[i]);
}
map<string,vector<string>>::iterator it = mapPos.begin();
vector<vector<string>> result;
for(;it!=mapPos.end();it++){
result.push_back((*it).second);
}
return result;
}
};