Leetcode刷题笔记(c++)_热题 HOT 100_49. 字母异位词分组

哈希表+排序

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        vector<vector<string>>out;
        if(strs.empty())return out;
        unordered_map<string,int>hashset;
        for(int i=0;i<strs.size();i++){
            cout<<i<<endl;
            string temp=strs[i];
            sort(temp.begin(),temp.end());
            if(hashset.count(temp)){
                out[hashset[temp]].emplace_back(strs[i]);
            }else{
                out.push_back({strs[i]});
                hashset[temp]=out.size()-1;
            }
        }
        return out;
    }
};

Leetcode刷题笔记(c++)_热题 HOT 100_49. 字母异位词分组_第1张图片

你可能感兴趣的:(leetcode,c++,算法)