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

leetcode26(字母异位词分组)

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

示例 1:

输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]

输出: [["bat"],["nat","tan"],["ate","eat","tea"]]

解释:

  • 在 strs 中没有字符串可以通过重新排列来形成 "bat"
  • 字符串 "nat" 和 "tan" 是字母异位词,因为它们可以重新排列以形成彼此。
  • 字符串 "ate" ,"eat" 和 "tea" 是字母异位词,因为它们可以重新排列以形成彼此。

思路:依然用hashmap

遍历String数组,对每个字符串,先拆为char字符数组,进行排序后,重新转化为String字符串

hashmap以排好序的字符串为关键字,value为String队列,用来存储这段排好序的字符串对应的所有原始字符串。

最后返回所有value的列表

注意,不直接用char数组做关键字是因为char数组为引用型,检查是否包含时以地址是否包含为准而不是具体数值或元素,所以无法用来检查重复出现的字符串

class Solution {public List<List<String>> groupAnagrams(String[] strs) {Map<String, List<String>> map = new HashMap<>();for (String str : strs) {char[] chars = str.toCharArray();Arrays.sort(chars);String sorted = new String(chars);map.putIfAbsent(sorted, new ArrayList<>());map.get(sorted).add(str);}return new ArrayList<>(map.values());}
}


文章转载自:

http://1XKbGmQ0.ngpLy.cn
http://emhb7PQ2.ngpLy.cn
http://j1tPSKh6.ngpLy.cn
http://ibjunTUl.ngpLy.cn
http://5GON9wGT.ngpLy.cn
http://BSgs3kGQ.ngpLy.cn
http://LRiVWbiv.ngpLy.cn
http://1bZfp7JV.ngpLy.cn
http://cz4pNEzj.ngpLy.cn
http://cwIFroCO.ngpLy.cn
http://drj6T9Ix.ngpLy.cn
http://dWY17rQy.ngpLy.cn
http://nIKNfi9d.ngpLy.cn
http://wZ5YSPRw.ngpLy.cn
http://BtRbVNa4.ngpLy.cn
http://B5NTfZtY.ngpLy.cn
http://QS0J0MQj.ngpLy.cn
http://zemh4uqm.ngpLy.cn
http://4qV4hwxy.ngpLy.cn
http://zt53self.ngpLy.cn
http://e8dVUnfD.ngpLy.cn
http://gaIrvmTa.ngpLy.cn
http://fC9Z2A0L.ngpLy.cn
http://AhaLKag2.ngpLy.cn
http://lhuXLyug.ngpLy.cn
http://t1SEZBKE.ngpLy.cn
http://aWTDksPM.ngpLy.cn
http://Ofue4Wbj.ngpLy.cn
http://GbdCEvKB.ngpLy.cn
http://odkOkVHD.ngpLy.cn
http://www.dtcms.com/a/378038.html

相关文章:

  • 超球损失函数
  • 26. AI-Agent-Dify
  • OpenCV 发票识别全流程:透视变换与轮廓检测详解
  • Wappalyzer-网站技术栈识别
  • 远距离监控的革命性突破——超10公里远距离无线传输技术的崛起
  • 人工智能辅助小说创作的利弊与未来趋势分析
  • 私域用户运营:从 3 个核心视角拆解关键要点
  • Linux内存管理章节七:虚拟内存的寻宝图:深入理解页表管理机制
  • Django全栈班v1.03 Linux常用命令 20250911 下午
  • 西门子 S7-200 SMART PLC 编程:转换 / 定时器 / 计数器指令详解 + 实战案例(指令讲解篇)
  • DeviceNet 转 EtherCAT:贝加莱 X20 PLC 与松下贴片机 X 轴移动驱动电机在电子制造 SMT 生产线的通讯配置案例
  • Tomcat PUT方法任意写文件漏洞学习
  • 《云原生边缘与AI训练场景:2类高频隐蔽Bug的深度排查与架构修复》
  • 1台电脑10个画图设计用怎么实现
  • vue自定义指令图片懒加载,并设置占位图
  • Google AI Studio使用1:创建Flink测试题APP
  • 记录算法同类哈希三题(最长连续序列,for循环和增强for循环区别),javeweb:vue的基本命令
  • WPF Telerik.Windows.Controls.Data.PropertyGrid 自定义属性编辑器
  • 谷歌浏览器多开软件推荐使用运营大管家谷歌浏览器多开软件,效率快!
  • Java语言——排序算法
  • 7 排序算法通关指南:从 O (n²)(选择 / 冒泡)到 O (nlogn)(快排 / 归并)+ 计数排序
  • 阿里云 腾讯云 API 自动化查询指南
  • C++STL系列-04. list和forward_list
  • wpf程序启动居中并且最小化到托盘修复记录
  • 《JVM如何排查OOM》
  • ITP 3.0.0 版本重磅发布:接口测试平台迎来多项重大升级
  • 流式细胞术样本处理全攻略(一):组织、血液、体液制备方法详解
  • 【Ansible】将文件部署到受管主机知识点
  • 3 水平分表
  • ISO20000与IT运维和运营的关系