LeetCode第49题字母异位词分组

继续打卡算法题,今天学习的是LeetCode第49题字母异位词分组,这道题目是道中等题。算法题的一些解题思路和技巧真的非常巧妙,每天看一看算法题和解题思路,我相信对我们的编码思维和编码能力有一些提升。

分析一波题目

本题首先要理解 字母异位词 ,就是由相同的字母,组成的字符串

本题需要对 字母异位词 分组,我们可以使用map来实现。

编码解决

java 复制代码
class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> map = new HashMap<String, List<String>>();
        for (String str : strs) {
            char[] array = str.toCharArray();
            //排序,利于比较是否字母异位词
            Arrays.sort(array);
            String key = new String(array);
            List<String> list = map.getOrDefault(key, new ArrayList<String>());
            list.add(str);
            map.put(key, list);
        }
        return new ArrayList<List<String>>(map.values());

    }
}

总结

本题还是比较容易的,排序之后,使用hashmap存储搞定。

相关推荐
未若君雅裁3 分钟前
Spring Boot 自动配置原理与常用注解
java·spring boot·后端
Xiacqi111 分钟前
Java数据库连接--JDBC--DRUID
数据库·后端
浮游本尊11 分钟前
用结构化 Prompt 让大模型「干活」:以数据库巡检告警建议生成为例
后端
豹哥学前端12 分钟前
事件循环(Event Loop)深度解析:让你彻底搞懂 JS 的执行顺序
前端·javascript·面试
snakeshe101016 分钟前
SpringBoot 多人协作平台实战(8):Cookie 与登录状态维持
后端
代码北人生24 分钟前
后端工程师开始用 Claude Code 了,Stripe 4天完成了本来要10个工程师周的迁移
后端·claude
有点。25 分钟前
C++(枚举法一练习题)
开发语言·c++·算法
黎阳之光37 分钟前
视听融合新范式!黎阳之光打破视觉边界,声影协同赋能全域智慧管控
大数据·人工智能·物联网·算法·数字孪生
小江的记录本1 小时前
【Java基础】核心关键字:final、static、volatile、synchronized、transient(附《思维导图》+《面试高频考点清单》)
java·前端·数据结构·后端·ai·面试·ai编程