问题:

package com.example.demo;import java.util.*;public class Test49 {/*** 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。* 思路:* Map<String,List>作为缓存数据结构* 遍历字符串数据,将每一个字符串进行排序,即可得到最基本的异位字符串,然后将排序后的字符串最为key,源字符串放入list中,将* list作为value放入map,遍历完成之后获取map中的values即可*/public List<List<String>> groupAnagrams(String[] strs) {Map<String, List<String>> map = new HashMap<>();for (int i = 0; i < strs.length; i++) {char[] chars = strs[i].toCharArray();Arrays.sort(chars);String sortedStr = String.valueOf(chars);// 如果map中没有该key,则设置一个空集合,然后将源字符串添加到集合中if (!map.containsKey(sortedStr)) {map.put(sortedStr, new ArrayList<>());}map.get(sortedStr).add(strs[i]);}return new ArrayList<>(map.values());}public static void main(String[] args) {Test49 t = new Test49();String[] arr = {"eat", "tea", "tan", "ate", "nat", "bat"};List<List<String>> lists = t.groupAnagrams(arr);String s = lists.toString();System.out.println(s);}
}

leetcode-49-字母异位词分组相关推荐

  1. leetcode 49. 字母异位词分组

    49. 字母异位词分组 - 力扣(LeetCode) 一开始想的是把各个字符串中每个字符ascii码值相加,然后相同的ascii码值放在一个组,在相同的ascii码值组中再去细找字母异位词. 一开始算 ...

  2. LeetCode 49字母异位词分组50pow(x,n)51八皇后

    原创公众号:bigsai 如果不错记得点赞收藏! 关注回复 bigsai 领取Java进阶pdf资源,回复进群加入力扣打卡群. 上周打卡内容:43字符串相乘&44通配符匹配 45跳跃游戏&am ...

  3. LeetCode 49. 字母异位词分组(哈希)

    1. 题目 给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例:输入: ["eat", "tea", "ta ...

  4. leetcode 49. 字母异位词分组(排序+hash)

    给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", "tan&quo ...

  5. LeetCode 49. 字母异位词分组 Group Anagrams

    给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", "tan&quo ...

  6. LeetCode 49 字母异位词分组

    力扣 思路:哈希表: 排序:对两个字符串分别进行排序之后得到的字符串是相同的 将排序之后的字符串作为哈希表的键     (参考LeetCode官方题解)  定义哈希表 unordered_map< ...

  7. 【LeetCode】【HOT】49. 字母异位词分组(递归)

    [LeetCode][HOT]49. 字母异位词分组 文章目录 [LeetCode][HOT]49. 字母异位词分组 package hot;import java.util.ArrayList; i ...

  8. Leetcode刷题100天—49. 字母异位词分组( 排序)—day37

    前言: 作者:神的孩子在歌唱 大家好,我叫运智 49. 字母异位词分组 难度中等847收藏分享切换为英文接收动态反馈 给你一个字符串数组,请你将 字母异位词 组合在一起.可以按任意顺序返回结果列表. ...

  9. 【LeetCode】49.字母异位词分组 (三种解法开拓思路,java实现)

    49. 字母异位词分组 分析 方法一:排序数组分类 思路 当且仅当它们的排序字符串相等时,两个字符串是字母异位词. 算法 维护一个映射 ans : {String -> List},其中每个键 ...

  10. 49. 字母异位词分组

    49. 字母异位词分组 给你一个字符串数组,请你将 字母异位词 组合在一起.可以按任意顺序返回结果列表. 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母都恰好只用一次. 示例 ...

最新文章

  1. MySQL流程控制函数
  2. 两个免费转换视频的软件,实现服务器端Video2FLV
  3. 内核模式下的注册表操作
  4. python快速排序解析_快速排序python实现总结
  5. 【转】细数中国十大名校的IT牛人
  6. 很好的一篇讲LTP在编解码中的作用的文章
  7. Spring框架之权限管理
  8. MVC架构 -- 初学试水选课管理系统
  9. 3点 刚体运动 opencv_模态法动力学分析中的刚体模态
  10. python提取英文单词 每行显示一个_使用python对文件中的单词进行提取
  11. Android开发笔记(一百五十四)OpenGL的画笔工具GL10
  12. 鼠标经过背景图片变换
  13. 02277微型计算机原理及应用,微型计算机原理及应用(课程代码:02277).doc
  14. 大二暑期第四周学习总结
  15. QT5.14.1实现界面开场动画
  16. 陈年咖啡豆是什么?陈年咖啡能喝吗?陈年咖啡有什么特别的?
  17. IOS程序员(新人入职一周)
  18. iOS SDWebImage 清空缓存 新方法
  19. 手把手教会你如何玩转SpringMVC
  20. 华为自研系统鸿蒙,全球第一家!魅族官方中午12点宣布:看我力挺华为鸿蒙OS系统崛起...

热门文章

  1. MySQL MyISAM和InnoDB存储引擎的比较
  2. 如何使用 HTTP Headers 来保护你的 Web 应用
  3. java 中jtextfield访问限制_java.swing JtextField 中怎么限制只能输入数字
  4. python编写递归函数和非递归函数、输出斐波那契数列_python 入门之斐波那契数列递归表达式算法和非递归算法...
  5. 计算机怎么隐藏桌面图标,怎么隐藏电脑界面右下角的几个图标?(看图)
  6. java引用变量_java代码声明引用变量经验
  7. 集合在枚举数实例化后进行了修改_(编程知识)C# 枚举与位枚举
  8. websecurity连接mysql_将MySQL连接器JAR放在我的WAR的WEB-INF / lib而不是tomcat lib中,使j_security_check失败...
  9. java ArrayList排序
  10. readfile读取串口数据_西门子PLC-1200-串口Modbus RTU通讯实例