49. Group Anagrams LeetCode

来源:互联网 发布:商业模式画布 知乎 编辑:程序博客网 时间:2024/05/02 00:31

题意:把字符串数组中的字符串分组,字符串按字典序排序后一样的字符串放在同一个组内。
题解:对每个串排序,然后hash。

class Solution {public:    vector<vector<string>> groupAnagrams(vector<string>& strs) {        sort(strs.begin(),strs.end());        unordered_map<string,vector<string> > hash;        hash.clear();        int n = strs.size();        vector<vector<string>> ans;        ans.clear();        for(int i = 0; i < n; i++)        {            string tmp = strs[i];            sort(tmp.begin(),tmp.end());            hash[tmp].push_back(strs[i]);        }        for(auto it = hash.begin(); it != hash.end(); it++)            ans.push_back(it->second);        return ans;    }};
0 0