当前位置: 首页 > 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());
    }
}

相关文章:

  • 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评估指标
  • 静态程序分析
  • 网络安全和文档的关系
  • 网站建设与管理怎么做/网站模板大全
  • 网站设计制作策划书/英语培训
  • 网络广告的特征是()多选题/seo专员是什么意思
  • 上海高端网站公司哪家好/百度免费建网站
  • 焊接加工订单网/百度seo优
  • 主做销售招聘的招聘网站有哪些/新闻发稿平台有哪些