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

面试高频#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.kler.cn/a/584916.html

相关文章:

  • docker拉取 sentinel 并启动
  • 技术聚焦:Debezium 如何将数据库数据精准注入 Kafka
  • 探索移动端开发新可能: Android Termux环境下部署MariaDB数据库
  • 智慧锂电:开启能源新时代的钥匙
  • Web网页制作之爱家居的设计(静态网页)
  • springboot3 webflux
  • 前端构建工具进化论:从Grunt到Turbopack的十年征程
  • ChromeOS 133 版本更新
  • 游戏引擎学习第156天
  • Manus 超强开源版本,OpenManus + QwQ-32B 实现 AI Agent
  • 投资早报 3.13
  • 【spring】springAOP
  • 多源 BFS_多源最短路(十八)542. 01 矩阵 中等 超级源点思想
  • leetcode日记(95)将有序数组转换为二叉搜索树
  • 大语言模型-1.3-GPT、DeepSeek模型介绍
  • CentOS7安装DNS服务器bind
  • DeepSeek如何赋能研究生学习:从科研到论文的全流程智能化支持
  • 前端面试:ajax 和 xhr 是什么关系?
  • Linux--gdb/cgdb
  • Oracle RAC 三种心跳机制