leetcode(hot100)

解题思路:
unordered_map<string,vector<string>>map; unordered_map<string,string>map; 这两个的区别是一个只能存储单一的string类型 一个可以存储一个字符型容器
一个只能覆盖。
所以这个设置一个这样的map容器,然后将strs中的字符串先排序 排完之后放入map中,这样map中的键对应的是一个排序好的字符串,map中的值对应的
是一个原始的字符串,是一堆字符串,因为map的键不可以重复但是值可以重复。然后设置一个二维动态数组容器,将map中的值放入容器中。
class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        unordered_map<string,vector<string>>map;
        for(string & s : strs){
            string sorted_s = s;
            sort(sorted_s.begin(),sorted_s.end());
            map[sorted_s].push_back(s);
        }
        vector<vector<string>>ans;
        ans.reserve(map.size());
        for(auto it = map.begin();it != map.end();it++){
            ans.emplace_back(it->second);
        }
        return ans;
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值