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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM