前言:

作者:神的孩子在歌唱

大家好,我叫运智

49. 字母异位词分组

难度中等847收藏分享切换为英文接收动态反馈

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

字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母都恰好只用一次。

示例 1:

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

示例 2:

输入: strs = [""]
输出: [[""]]

示例 3:

输入: strs = ["a"]
输出: [["a"]]

提示:

package 排序;import java.util.List;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;/** https://leetcode-cn.com/problems/group-anagrams/* 解题思路:每个字母异位词分组字符都是相同得,只不过字符顺序不一样,* 我们可以将他们变成ascll然后进行排列,最后在转为字符串,* 根据散列表性质:将顺序排号得字符作为键,字母异位词作为值* */
public class _49_字母异位词分组 {//  一旦需要根据特征进行归类就要散列表public static List<List<String>> groupAnagrams(String[] strs) {//      如果字符长度为0就返回空
//      定义哈希散列表HashMap<String,List<String>> map=new HashMap<>();
//      遍历for(String str:strs) {//          将字符串转为字符数组char[] s=str.toCharArray();
//          然后进行排序,由于是字符,所以可以根据ascll码来排序Arrays.sort(s);
//          然后在转为字符串String st=String.valueOf(s);
//          如果排序好的数据不存在哈希中,那么就是新的字符串if (!map.containsKey(st)) {//              将这个新的键存入,创建一个队列空值map.put(st, new ArrayList()) ;}
//          不管哈希表里有没有这个字符串都存入map.get(st).add(str);//获取对应得键值追加}return  new ArrayList(map.values());}public static void main(String args[]) {String[] strs= {"eat", "tea", "tan", "ate", "nat", "bat"};List<List<String>> s=groupAnagrams(strs);System.out.print(s);}
}

本人csdn博客:https://blog.csdn.net/weixin_46654114

转载说明:跟我说明,务必注明来源,附带本人博客连接。

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

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

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

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

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

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

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

  4. 49. 字母异位词分组

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

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

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

  6. LeetCode简单题之有效的字母异位词

    题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词. 示例 1: 输入: s = ...

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

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

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

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

  9. leetcode力扣49. 字母异位词分组

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

最新文章

  1. NSOperationQueue
  2. 2019春第一次课程设计实验报告
  3. Android:理想的框架开发母板——高焕堂
  4. PaddleLabel——重新识别失败【Can not recognise the detection box in 文件. Please change manually 】解决方案
  5. 2012-01-10 自己写的基于jquery的翻页效果
  6. php新闻添加图片,PHP操纵blob巧将图片存入ORACLE
  7. 编码程序教程_如何从编码教程到构建自己的项目
  8. ubuntu14.04 LTS版本下安装配置gem5环境
  9. Python中循环(列表循环)的学习笔记~
  10. python数据保存为excel_Python读excel生成数据存入txt文件
  11. HDU 1019 least common Multipy
  12. 鸡兔同笼python程序怎么写_梦见鸡_周公解梦梦到鸡是什么意思_做梦梦见鸡好不好_周公解梦官网...
  13. Java学习 --- HTML
  14. server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...
  15. 大数据分析:数字化企业转型的关键
  16. 防止PayPal帐号冻结和解冻的经验
  17. python只读打开文件,python如何使用只读、不显示窗口的方式打开ppt文件
  18. created和mounted的区别
  19. 趣玩 Linux:盘点那些能装逼的炫酷命令(动图演示)
  20. 通联支付php7,通联支付接口疑难问题处理开发者文档.pdf

热门文章

  1. 项目实战——匹配系统(上)
  2. NOIP201205Vigenère密码
  3. Android 主题切换/换肤方案 研究(四) - qq和qq空间
  4. 对Hive连接metastore数据库的密码进行加密处理
  5. 使用Baxter仿真器学习一下机械臂的控制
  6. hdoj-1593-find a way to escape【数学题】
  7. Nat Micro:房刚组揭示细菌表观遗传调节艰难梭菌孢子形成
  8. 基于SHCAN智能仪表的ECU检测系统ETest的开发
  9. QQ浏览器可以处理pdf,ppt,word和excel文件您造吗?
  10. RBG三颜色填格子(非DP实现)