Leetcode练习(Python):哈希表类:第49题:字母异位词分组:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。

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

说明:

  • 所有输入均为小写字母。
  • 不考虑答案输出的顺序。

思路:

使用sort()将单词排序。

程序:

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        length = len(strs)
        if length <= 0:
            return [[]]
        if length == 1:
            return [[strs[0]]]
        myHashMap = {}
        for data in strs:
            data1 = list(data)
            data1.sort()
            data2 = ''.join(data1)
            if data2 in myHashMap:
                myHashMap[data2].append(data)
            else:
                myHashMap[data2] = [data]
        result = []
        for key in myHashMap.keys():
            result.append(myHashMap[key])
        return result
原文地址:https://www.cnblogs.com/zhuozige/p/12792605.html