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

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

题目描述

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

class Solution {public List<List<String>> groupAnagrams(String[] strs) {Map<String, List<String>> map = new HashMap<>();for (int i = 0; i < strs.length; i++) {String s = strs[i];char[] c = new char[26];for (int j = 0; j < s.length(); j++) {c[s.charAt(j)-'a']++;}String str = new String(c);map.putIfAbsent(str, new ArrayList<>());map.get(str).add(s);}return new ArrayList<>(map.values());}
}

小结:这道题想到哈希表只成功了一半,还要注意哈希表的键和值,这里键是用来标记的字符串,值是对应的字符串列表。思路清晰之后,就是实现的一些细节了,比如 String 是不可变对象,所以需要先用字符数组来标记,还要注意不能直接用 c.toString() ,否则返回的是数组对象地址,要用new String(c)

相关文章:

  • 10.2 LangChain v0.3全面解析:模块化架构+多代理系统如何实现效率飙升500%
  • 如何安全擦除 SSD 上的可用空间
  • 牛客网NC231954:斐波那契数列 (简单的数列问题)
  • Ubuntu离线安装Minio
  • DeepSeek模型架构详解:从Transformer到MoE
  • ‌JMeter聚合报告中的任务数和并发数区别
  • 【AI News | 20250515】每日AI进展
  • 数据结构——例题3
  • Function Calling
  • 【LLIE专题】基于码本先验与生成式归一化流的低光照图像增强新方法
  • OpenHarmony 5.1.0 Release目录结构详细解析(3级目录)
  • 解读RTOS 第八篇 · 内核源码解读:以 FreeRTOS 为例
  • AAC 协议
  • MyBatis 的分页插件 c
  • 交通运输与能源融合发展——光储充在交通上的应用完整解决方案
  • 【hadoop】sqoop案例 hive->mysql
  • python克洛伊婚纱摄影预约管理系统
  • 纯前端实现基于位置的天气和动态背景图片
  • 【优化算法】协方差矩阵自适应进化策略(Covariance Matrix Adaptation Evolution Strategy,CMA-ES)
  • [项目深挖]仿muduo库的并发服务器的解析与优化方案
  • 第1现场 | 美国称将取消制裁,对叙利亚意味着什么
  • 崔登荣任国家游泳队总教练
  • 微软宣布将裁员3%
  • 硅料收储挺价“小作文”发酵光伏板块罕见大涨,知情人士:确实在谈
  • 市场监管总局等五部门约谈外卖平台企业
  • 成都警方通报:8岁男孩落水父母下水施救,父亲遇难