LongDz 的数字文墨提案

49. 字母异位词分组

2 min

题目

49. 字母异位词分组 中等

思路

对每个字符串排序,将排序后相同的字符串归为一组,使用哈希表存储

复杂度

  • 时间复杂度: O(n * k log k),n为字符串数量,k为字符串平均长度
  • 空间复杂度: O(n * k),存储所有字符串的哈希表空间

代码

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        vector<vector<string>> ans;
        map<string,vector<string>>mp;
        for(auto i:strs){
            string tmp = i;
            sort(i.begin(),i.end());
            mp[i].push_back(tmp);
        }
        for(auto i:mp){
            ans.push_back(i.second);
        }
        return ans;
    }
};