LeetCode 49. Group Anagrams

来源:互联网 发布:达内java培训北京校区 编辑:程序博客网 时间:2024/05/22 13:27

题意

n个单词按照字母组成分组,字母组成相同的为一组

思路

使用hash将字母组成相同的放在一起,验证字母组成的时候直接将单词中的字符排序即可,最后遍历hash表进行结果的添加.

代码

class Solution {public:    map<string, vector<string>>mp;    vector<vector<string>> groupAnagrams(vector<string>& strs) {        vector<vector<string> >ans;        size_t len = strs.size();        for(int i = 0; i < len; i++){            string s = strs[i];            sort(s.begin(), s.end());            mp[s].push_back(strs[i]);        }        for(auto it : mp){            ans.push_back(mp[it.first]);        }        return ans;    }};