您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页leecode第四十九题(字母异位词分组)

leecode第四十九题(字母异位词分组)

来源:伴沃教育

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        vector<vector<string>> result;
        int len=strs.size();
        
        vector<string> strs_copy=strs;//复制原数组,并对其中每个字符串排序
        for(int i=0;i<len;i++)
            sort(strs_copy[i].begin(), strs_copy[i].end());
        
        map<string,int> temp;//建立一个map
        int temp_num=0;
        for(int i=0;i<len;i++)
        {
            map<string,int>::iterator it;
            it=temp.find(strs_copy[i]);//检查每一个排序后的字符串
            if(it==temp.end())//如果没有查到,就在map里插入,并给出标记序号temp_num
            {
                temp.insert(make_pair(strs_copy[i],temp_num));
                temp_num++;
                vector<string> tt;
                tt.push_back(strs[i]);
                result.push_back(tt);
            }
            else//如果查到了,就直接push进去
                result[it->second].push_back(strs[i]);
        }
        return result;
    }
};

分析:

最终还是用到了排序。

转载于:https://www.cnblogs.com/CJT-blog/p/11211990.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务