给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。

示例:

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

所有输入均为小写字母。
不考虑答案输出的顺序。

思路:如果他们是一类,那排完序之后肯定都是是一个字符串。维护一个map,key是排完序的,value是这类词的list。

class Solution {public List<List<String>> groupAnagrams(String[] strs) {HashMap<String, List<String>> hash = new HashMap<>();for (int i = 0; i < strs.length; i++) {char[] s_arr = strs[i].toCharArray();//排序Arrays.sort(s_arr);//映射到 keyString key = String.valueOf(s_arr); if (hash.containsKey(key)) {//添加到对应的类中hash.get(key).add(strs[i]);} else {//弄个新的List<String> temp = new ArrayList<String>();temp.add(strs[i]);hash.put(key, temp);}}return new ArrayList<List<String>>(hash.values()); }
}

leetcode49. 字母异位词分组相关推荐

  1. C#版 - Leetcode49 - 字母异位词分组 - 题解

    C#版 - Leetcode49 - 字母异位词分组 - 题解 Leetcode49.Group Anagrams 在线提交: https://leetcode.com/problems/group- ...

  2. LeetCode--49. 字母异位词分组(哈希表)

    49. 字母异位词分组(哈希表) 1. 题目描述 2. 题目分析 3. Python实现 1. 题目描述 难度:中等 2. 题目分析 这道题的目的就是找出由相同字母组成的字符的集合.非常直观的方法就是 ...

  3. 20200314:字母异位词分组(leetcode49)

    字母异位词分组 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 思路很简单:进行简单的遍历,将每次得到的字符串进行排序,再存入map,如果map已经中已经出现了排序后的字符串,说明这俩是异位 ...

  4. 算法--------字母异位词分组 (Java 版本)

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

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

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

  6. 49. 字母异位词分组

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

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

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

  8. leetcode之字母异位词分组

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

  9. LeetCode 热题 HOT — 字母异位词分组

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

最新文章

  1. python oop求三角形面积公式_python学习日记(OOP——类的内置方法)
  2. 中国安防为何世界最强?中科院AI+安防报告,解密8大趋势和8大限制【附下载】| 智东西内参...
  3. 12款顶级SIEM工具比较与评级
  4. Android消息通信之无所不能的第三方开源项目EventBus
  5. leetcode-11-盛最多水的容器
  6. nodejs正则提取html,Nodejs正则表达式函数之match、test、exec、search、split、replace
  7. 中国人民大学教授杜小勇:One Size Does not Fit All?
  8. Android Studio(6)---编写APP
  9. PL2303 Windows8.1驱动的问题
  10. ssm-学子商城-项目第十三天最后一天完成项目
  11. mescroll使用上拉加载、下拉刷新
  12. office图标修复工具_超好用的流程图绘图工具你还没get吗?
  13. 鹏业安装算量价值深度体现,助力精细化算量!
  14. 一篇文入门OA流程开发
  15. python语言支持函数式编程_python 函数式编程学习笔记
  16. 产品基础训练 - Persona[用户画像]
  17. Matplotlib绘制自定义函数曲线
  18. 扇形图形用html,如何用css画扇形?
  19. 2021年化工自动化控制仪表考试报名及化工自动化控制仪表新版试题
  20. C++解角谷定理:输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。若输入自然数为1,则不需要运算,运算次数为1(用循环和递归分别实现)

热门文章

  1. rabbitmq 拉取消息太慢_面试官:消息队列这些我都要问
  2. 和lua的效率对比测试_Unity游戏开发Lua更新运行时代码!
  3. Linux中重定向及管道,Linux中重定向及管道
  4. 【转】深度理解C# 的执行原理
  5. SharePoint无代码工作流设计开发实例——交通费报销流程(三)
  6. Sharepoint学习笔记—ECM系列--3 从.CSV文件导入术语集(Term Sets)
  7. 图片文件夹要放在html,在网页中插入图像,若图像文件位于html文件的上两级文件夹,则在文件名之前加入()...
  8. java 切换panel会闪烁_【19期】为什么Java线程没有Running状态?
  9. 1756冗余_AB冗余模块1756-RM
  10. PWN-PRACTICE-BUUCTF-15