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存储搞定。

相关推荐
神奇小汤圆15 分钟前
告别手写HTTP请求!Spring Feign 调用原理深度拆解:从源码到实战,一篇搞懂
后端
YuTaoShao15 分钟前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法三)DP 空间优化
算法·leetcode·职场和发展
茉莉玫瑰花茶20 分钟前
C++ 17 详细特性解析(5)
开发语言·c++·算法
布列瑟农的星空20 分钟前
前端都能看懂的Rust入门教程(三)——控制流语句
前端·后端·rust
汤姆yu27 分钟前
基于springboot的尿毒症健康管理系统
java·spring boot·后端
暮色妖娆丶31 分钟前
Spring 源码分析 单例 Bean 的创建过程
spring boot·后端·spring
野犬寒鸦31 分钟前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
cpp_250132 分钟前
P10570 [JRKSJ R8] 网球
数据结构·c++·算法·题解
cpp_250139 分钟前
P8377 [PFOI Round1] 暴龙的火锅
数据结构·c++·算法·题解·洛谷
Java编程爱好者1 小时前
Seata实现分布式事务:大白话全剖析(核心讲透AT模式)
后端