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

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/group-anagrams

例:

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

解析:将每个字符串首先进行排序(sorted()函数),然后进行比较添加,最后提取结果转成list格式即可。

class Solution(object):def groupAnagrams(self, strs):""":type strs: List[str]:rtype: List[List[str]]"""dic = {}  # 用字典进行存取for s in strs:  # 对每个字符串进行遍历keys = "".join(sorted(s))  # 对字符串进行正序排列if keys not in dic:  # 只有一个的情况dic[keys] = [s]  # 要记得带中括号,否则下面不能使用append(),而且最后的输出也需要。else:  # 多个的情况dic[keys].append(s)return list(dic.values())  # 只输出字典的值,并且转成列表格式。

注:

sort 与 sorted 区别:

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

字母异位词分组Python解法相关推荐

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

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

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

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

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

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

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

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

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

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

  6. 49. 字母异位词分组

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

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

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

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

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

  9. leetcode之字母异位词分组

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

最新文章

  1. 挥手送别 2019,翘首期待 2020
  2. Animator窗口视图Project视图PlayerIdleAnimation和PlayerWalkingAnimation
  3. Linux下CMake简明教程(七)对库进行链接
  4. Oracle 原理:DML触发器和数据库触发器
  5. DuplicateHandle复制句柄保护文件
  6. yaml 数组_接口测试:A01_HttpRunner基础_05_YAML格式测试用例
  7. C语言——输入输出格式
  8. 将动态IP切换为静态
  9. 数字集成电路版图设计(二)——Cadence IC简单的反相器版图设计
  10. iphone邮件服务器 263,IPHONE中设置使用企业邮箱(以263为例).doc
  11. 花生壳域名指向跟本地ip不一致的情况是无所谓的
  12. 基于xsh的vbs脚本的使用(语法)
  13. 科学健身,锻炼身体,增长肌肉
  14. 2022化工自动化控制仪表考试试题及模拟考试
  15. 微x模块怎么导入主题_模块
  16. 统计源期刊《国际医学放射学杂志》
  17. UE4消除后期对透明材质的影响
  18. 格林耐特交换机配置命令参考
  19. office提示“你的许可证并非正版,你可能是盗版软件的受害者“解决办法
  20. 2006.7-8,九方公司网站维护

热门文章

  1. 动态创建 @ViewChild 导致运行时错误的原因分析
  2. RxJs map operator 工作原理分析
  3. 使用FakeAsync对Angular异步代码进行单元测试
  4. 如何查看SAP云平台上某个subaccount的tenant和region信息
  5. SAP Data Intelligence API执行出错的排错之道
  6. 如何处理SAP HANA Web-Based Development Workbench的403 Forbidden错误
  7. SAP UI5 initialization error
  8. 上传到SAP云平台CloudFoundry上的nodejs应用存储的绝对路径
  9. How product extension field is involved in search scenario
  10. 在后台查看product的change history