当前位置: 首页 > news >正文

面试高频#LeetCode#Hot100-字母异位词分组

题号链接

49. 字母异位词分组 - 力扣(LeetCode)

1首先定义map集合一个String对应一个String[]集合,遍历字符串数组

 2对其先进行拆分,拆分为字符数组,再进行排序,再转为字符串

 3如果key值没有就创建一个字符串集合,将遍历的str放入

 4如果key值在map中有,那就返回其所对应的values,将遍历的str放入

 5最后直接返回map所有的values组成的集合

代码实现:

import java.util.*;

class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        // 1. 定义 Map,键为排序后的字符串,值为字母异位词列表
        Map<String, List<String>> map = new HashMap<>();

        // 2. 遍历字符串数组
        for (String str : strs) {
            // 3. 将字符串拆分为字符数组,排序后再转为字符串
            char[] chars = str.toCharArray();
            Arrays.sort(chars);
            String sortedKey = new String(chars);

            // 4. 如果键不存在,创建一个新列表;如果存在,直接获取列表
            map.computeIfAbsent(sortedKey, k -> new ArrayList<>()).add(str);
        }

        // 5. 返回 Map 中所有值组成的集合
        return new ArrayList<>(map.values());
    }
}

http://www.dtcms.com/a/66646.html

相关文章:

  • Generative Image Dynamics(动态图像生成)
  • uni-app学习笔记——自定义模板
  • 基于 GEE 的城市热岛效应分析——可视化地表温度 LST 与归一化植被指数 NDVI 的关联
  • <03.13>八股文补充知识
  • 24个希腊字母
  • Unity中WolrdSpace下的UI展示在上层
  • AI智能分析网关V4将HTTP消息推送至安防监控视频汇聚EasyCVR平台的操作步骤
  • JAVA面试_进阶部分_dubbo负载均衡策略
  • uniapp APP使用web-view内嵌 h5 解决打包发版浏览器有缓存需要清除的问题
  • IO多路复用——epoll(20250307)
  • 关于Linux contOS 7 的防火墙
  • 蓝桥杯 之 回溯之充分剪枝
  • 深度学习优化算法全面解析:从理论到实践
  • PyTorch vs NumPy:核心区别与选择指南
  • wow-rag:task2-正式上路搞定模型
  • 红帆 iOffice M2 移动端密码爆破的渗透测试思路,绕过客户端实现Burpsuite批量跑,分享渗透思路,共建网络安全
  • 二维数组基础
  • BLEU评估指标
  • 静态程序分析
  • 网络安全和文档的关系
  • 【高项】信息系统项目管理师(五)项目范围管理【3分】
  • CSS 知识点总结1
  • 在ArcGIS中对图斑进行自上而下从左往右编号
  • 制造业数字化转型,汽车装备制造企业数字化转型案例,智能制造数字化传统制造业数字化制造业数字化转型案例
  • 【运维】服务器系统从centos7重装为ubuntu22.04
  • 医院本地化DeepSeek R1对接混合数据库技术实战方案研讨
  • 使用Python在Word中生成多种不同类型的图表
  • 2020年SCI1区TOP:自适应粒子群算法MPSO,深度解析+性能实测
  • AI智能代码疫苗技术,赋能数字化应用内生安全自免疫
  • QT:非模态使用WA_DeleteOnClose避免内存泄漏