ok
看题:
题目的要就是找字符串数组里面,字符串字母相同但是顺序不一定相同的字符串,然后把他们分为一组,进行输出。
看代码:
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
map<string, vector<string>> mp;//定义一个字符串排序后为key,原字符串为value的map
for (string& str: strs) {//遍历原字符串数组
string key = str;
sort(key.begin(), key.end());//进行排序
mp[key].emplace_back(str);//然后放入对应的map
}
vector<vector<string>> ans;
for (auto it = mp.begin(); it != mp.end(); ++it) {//将map中的字符串遍历放入vector中
ans.emplace_back(it->second);
}
return ans;
}
};
ok