【LEETCODE】49. 字母异位词分组

每日一抄,自己做是不可能自己做的。

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。

示例 1:

输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
输出: [["bat"],["nat","tan"],["ate","eat","tea"]]

示例 2:

输入: strs = [""]
输出: [[""]]

示例 3:

输入: strs = ["a"]
输出: [["a"]]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/group-anagrams
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

#include 
#include 
#include
#include 
#include 
using namespace std;
class Solution {
public:
    std::vector> groupAnagrams(std::vector& strs) {
        std::map> mp;
        for (std::string& str: strs) {
            std::string key = str;
            sort(key.begin(), key.end());
            mp[key].emplace_back(str);
        }
        std::vector> abs;
        for (auto it = mp.begin(); it != mp.end(); ++it) {
            abs.emplace_back(it->second);
        }
        return abs;
    }
};

int main(){
    Solution s;
    std::vector> p;
    std::vector vec;
    vec.push_back("eat");
    vec.push_back("ate");
    vec.push_back("tan");
    vec.push_back("tea");
    vec.push_back("ant");
   p= s.groupAnagrams(vec);
    for(int i=0;i

你可能感兴趣的:(leetcode,算法,职场和发展)