算是一个小模拟:
主要实现思路:
其实从给定的数据就可以稍微去猜测一下做法:
从这个给定的数据来看,那么每一组疑惑词的前映射(可能说这个词读者不太懂),比如第一行的三个异或词,其实算是aet的不同形式。那么我们可以去哈希表去进行映射。
映射方式如下:
unordered_map<string,vector < string >> heap;
只要我们对每一次的去便利的时候,我们先去进行排序,然后排序后的答案放到映射数组当中去就行了。到时候吧用迭代器稍微处理一下。
class Solution {
public:
vector<vector<string>> ans;
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string,vector<string>> heap;
for(auto c:strs){
string key=c;
sort(key.begin(),key.end());
heap[key].push_back(move(c));
}
//现在存储好了,现在按照数量去进行输出
for(auto it=heap.begin();it!=heap.end();it++){
ans.push_back(move(it->second));
}
return ans;
}
};