49. 字母异位词分组

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

示例:

 

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

  

class Solution(object):
    def groupAnagrams(self, strs):
        """
        :type strs: List[str]
        :rtype: List[List[str]]
        """
        result = collections.defaultdict(list)  # 建立一个字典,字典的value值可以为list
        for i in strs:
            key = "".join(sorted(i))  # python中对字符串排序的用法,排序后相同的值映射到同意key中
            result[key].append(i)  
        return result.values()  # values返回字典中所有的value值

 

posted @ 2020-12-14 19:10  三一一一317  阅读(89)  评论(0)    收藏  举报