0
点赞
收藏
分享

微信扫一扫

LeetCode----49.字母移位词分组(temp字符串来存储原字符串然后再进行排序)


思路展示

由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符串分别进行排序之后得到的字符串一定是相同的(但是两个字符串分别排序时,不能改变原字符串,所以要用一个temp字符串来存储原字符串然后再进行排序),故可以将排序之后的字符串作为哈希表的键。

示例代码

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        unordered_map<string,vector<string>> myMap;
        for(string str:strs){
            string temp=str;
            sort(temp.begin(),temp.end());
            myMap[temp].push_back(str);
        }
        vector<vector<string>> res;
        for(auto& [key,val]:myMap){
            res.push_back(val);
        }
        return res;
    }
};

效果展示

LeetCode----49.字母移位词分组(temp字符串来存储原字符串然后再进行排序)_算法


举报

相关推荐

0 条评论