leetcode个人题解——#49 Group Anograms

Posted txltxl22

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode个人题解——#49 Group Anograms相关的知识,希望对你有一定的参考价值。

思路:利用c++ stl的map来实现关键字匹配,

遍历strs容器类,对其中每一个string进行按字典序排序后,查找是否存在这样一个键,如不存在,存储该键,并将str[i]作为键映射的第一个元素;如存在,将str[i]添加到该键映射的vector<string>里。

最后用迭代器将map的映射即iter->second复制到题目要求返回的类型容器中。

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        typedef map<string, vector<string>> mstring;
        mstring res;
        const int Size = strs.size();
        for(int i = 0;i < Size; i++){
            string key = strs[i];
            sort(key.begin(), key.end());
            if(res.find(key) == res.end()) res[key] = {strs[i]};
            else
                res[key].push_back(strs[i]);
        }
        vector<vector<string>> ans;
        for(mstring::iterator iter = res.begin(); iter != res.end(); iter++)
            ans.push_back(iter->second);
        return ans;
    }
};

 

以上是关于leetcode个人题解——#49 Group Anograms的主要内容,如果未能解决你的问题,请参考以下文章

一天一道LeetCode#49. Group Anagrams

Python 解leetcode:49. Group Anagrams

力扣(LeetCode)旋转字符串 个人题解

#Leetcode# 49. Group Anagrams

leetcode 49. Group Anagrams

[leetcode][49] Group Anagrams