美文网首页
[LeetCode]49、字母异位词分组

[LeetCode]49、字母异位词分组

作者: 河海中最菜 | 来源:发表于2019-08-02 23:11 被阅读0次

    题目描述

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

    示例:

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

    思路解析

    利用一个字典,key为排序后的元祖(不可变),values为list,添加该数组

    class Solution(object):
        def groupAnagrams(self, strs):
            ans = collections.defaultdict(list)
            for s in strs:
                ans[tuple(sorted(s))].append(s)
            return ans.values()
    
    image.png

    相关文章

      网友评论

          本文标题:[LeetCode]49、字母异位词分组

          本文链接:https://www.haomeiwen.com/subject/lhcddctx.html