【LeetCode】49. 字母异位词分组

1 问题

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

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

示例 1:

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

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

示例 2:

输入: strs = [""]

输出: [[""]]

示例 3:

输入: strs = ["a"]

输出: [["a"]]

2 答案

这题直接不会

官方解,使用字典记录,其中字典的键,必须是不可变类型,所以用tuple。

python 复制代码
class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        dict = {}
        for s in strs:
            key = tuple(sorted(s))  # 字典的键用tuple
            dict[key] = dict.get(key,[]) + [s]  # get(key,[]) get 不到则返回[]
        return list(dict.values())
相关推荐
wang6021252183 分钟前
本地docker的解释器在pycharm进行调试
python·pycharm·fastapi
SunnyDays10117 分钟前
如何使用 Python 将 ODT 转换为 PDF:完整指南
python·odt转pdf
智算菩萨15 分钟前
【Python自然语言处理】基于NLTK库的英文文本词频统计系统实现原理及应用
开发语言·python·自然语言处理
Ashley_Amanda23 分钟前
Python 常见问题梳理
开发语言·windows·python
狐5726 分钟前
2026-01-12-LeetCode刷题笔记-1266-访问所有点的最小时间.md
笔记·算法·leetcode
比奇堡的猪猪26 分钟前
修改默认conda环境(在win中)
python·conda
瑞雨溪31 分钟前
力扣题解:740.删除并获得点数
算法·leetcode·职场和发展
程序员-King.35 分钟前
day125—二分查找—寻找峰值(LeetCode-162)
算法·leetcode·职场和发展
老鼠只爱大米36 分钟前
LeetCode算法题详解 3:无重复字符的最长子串
算法·leetcode·面试题·滑动窗口·无重复字符的最长子串·最长子串
萧鼎37 分钟前
深入解析 Python 的 Word 模板引擎:docxtpl 全面指南
开发语言·python·word