题意
将相同字母组成的字符串组成一组
题解
对每个字符串排序后在map中查找是否有相同的
代码
class Solution {
public:
vector<vector<string> > groupAnagrams(vector<string>& strs) {
vector<vector<string> > result;
int index = 0;
map<string, int> dict;
for(int i = 0; i < strs.size(); i++)
{
string temp = strs[i];
sort(temp.begin(), temp.end());
if(!dict.count(temp))
{
vector<string> vec_temp;
vec_temp.push_back(strs[i]);
result.push_back(vec_temp);
dict[temp] = index;
index++;
}
else
{
result[dict[temp] ].push_back(strs[i]);
}
}
for(int i = 0; i < result.size(); i++)
{
sort(result[i].begin(), result[i].end());
}
return result;
}
};