其他分享
首页 > 其他分享> > 20.12.14 leetcode49

20.12.14 leetcode49

作者:互联网

题目链接:https://leetcode-cn.com/problems/group-anagrams/

题意:给你一个字符串数组,要求将包含字母相同的字符串组合在一起。

分析:一开始我想的是模拟二进制,每个字母代表一个二进制位,一个字符串可以唯一的用一个整数来表示,但我忘了这题字符串中的字母可以重复。。。。。

题解的第二个方法一堆函数没见过,懒得看,直接用第一个排序了。

class Solution { public:     vector<vector<string>> groupAnagrams(vector<string>& strs) {         unordered_map<string, vector<string>> mp;         for (string& str: strs) {             string key = str;             sort(key.begin(), key.end());             mp[key].emplace_back(str);         }         vector<vector<string>> ans;         for (auto it = mp.begin(); it != mp.end(); ++it) {             ans.emplace_back(it->second);         }         return ans;     } };
class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        unordered_map<string, vector<string>> mp;
        for (string& str: strs) {
            string key = str;
            sort(key.begin(), key.end());
            mp[key].emplace_back(str);
        }
        vector<vector<string>> ans;
        for (auto it = mp.begin(); it != mp.end(); ++it) {
            ans.emplace_back(it->second);
        }
        return ans;
    }
};

 

标签:14,str,back,leetcode49,vector,mp,key,ans,20.12
来源: https://www.cnblogs.com/qingjiuling/p/14131876.html