Leetcode49 字母异位词分组

思路 : 字母异位词是字母排序不同,但字母总量相同的字符串,可以用一个排序后的String充当key,一个List收集对应该String的全部异位词。

主要API用法:

toCharArray : String转char类型数组

map.values() 取出Map的全部value值作为一个列表。

如果有疑问和更好的见解欢迎交流

复制代码
class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        //toCharArray
        //Arrays.sort()
        List<List<String>> res = new ArrayList<>();
        Map<String,List<String>> m = new HashMap<>();
        for(int i = 0;i<strs.length;++i){
            char[] cArray = strs[i].toCharArray();
            Arrays.sort(cArray);
            String tempString = new String(cArray);
            if(m.containsKey(tempString)){
                List<String> temp = m.get(tempString);
                temp.add(strs[i]);
                m.put(tempString,temp);
            }
            else{
                List<String> temp = new ArrayList<String>();
                temp.add(strs[i]);
                m.put(tempString, temp);
            }
        }
        return new ArrayList<List<String>>(m.values());
    }
}
相关推荐
前端小L9 分钟前
图论专题(十八):“逆向”拓扑排序——寻找图中的「最终安全状态」
数据结构·算法·安全·深度优先·图论·宽度优先
前端小L11 分钟前
图论专题(十七):从“判定”到“构造”——生成一份完美的「课程表 II」
算法·矩阵·深度优先·图论·宽度优先
qq_4335545428 分钟前
C++ 稀疏表
开发语言·c++·算法
小白程序员成长日记1 小时前
2025.11.21 力扣每日一题
算法·leetcode·职场和发展
小年糕是糕手2 小时前
【C++】C++入门 -- inline、nullptr
linux·开发语言·jvm·数据结构·c++·算法·排序算法
高洁012 小时前
具身智能-普通LLM智能体与具身智能:从语言理解到自主行动
人工智能·深度学习·算法·aigc·知识图谱
星期天22 小时前
3.2联合体和枚举enum,还有动态内存malloc,free,calloc,realloc
c语言·开发语言·算法·联合体·动态内存·初学者入门·枚举enum
Andy3 小时前
回文子串数目--动态规划算法
算法·动态规划
sin_hielo3 小时前
leetcode 1930
算法·leetcode
塞北山巅3 小时前
相机自动曝光(AE)核心算法——从参数调节到亮度标定
数码相机·算法