题目:
Given an array of strings, group anagrams together.
Example:
Input: ["eat", "tea", "tan", "ate", "nat", "bat"]
,
Output:
[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]
Note:
- All inputs will be in lowercase.
- The order of your output does not matter.
题意:
没什么好写的,就是把字符串组成元素相同的放在同一集合中
思路:
利用sort函数排序,这样同一集合的字符串就相同了;再把集合放入vector容器中
Code:
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
vector<vector<string>> q;
map<string,vector<string>> m;
for(string s:strs){
string t=s;
sort(t.begin(),t.end());
m[t].push_back(s);
}
for(string a:m) {
q.push_back(m[a]);
}
return q;
}
};