leetcode_49. 字母异位词分组
【摘要】 目录
一、题目内容
二、解题思路
三、代码
一、题目内容
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
示例:
输入: ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [ ["ate","eat","tea"], ["nat",...
目录
一、题目内容
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
示例:
输入: ["eat", "tea", "tan", "ate", "nat", "bat"]
输出:
[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]
说明:
所有输入均为小写字母。
不考虑答案输出的顺序。
二、解题思路
对排序后的字符串作为key值,个数为value,统计个数之后返回所有的value。
三、代码
-
class Solution:
-
def groupAnagrams(self, strs: list) -> list:
-
"""
-
:param strs: List[str]
-
:return: List[List[str]]
-
"""
-
strs_dict = {}
-
for str in strs:
-
sorted_str = "".join(sorted(str))
-
if sorted_str not in strs_dict:
-
strs_dict[sorted_str] = [str]
-
else:
-
strs_dict[sorted_str].append(str)
-
return list(strs_dict.values())
-
-
-
if __name__ == '__main__':
-
strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
-
s = Solution()
-
ans = s.groupAnagrams(strs)
-
print(ans)
-
文章来源: nickhuang1996.blog.csdn.net,作者:悲恋花丶无心之人,版权归原作者所有,如需转载,请联系作者。
原文链接:nickhuang1996.blog.csdn.net/article/details/111150317
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)