LeetCode-面试题 10.02. 变位词组

编写一种方法,对字符串数组进行排序,将所有变位词组合在一起。变位词是指字母相同,但排列不同的字符串。

注意:本题相对原题稍作修改

方法:首先对每一个字符串排序,然后用字典存储同一个变位词在列表中的位置,用列表存储变位词,最后返回列表就可以,时间上达到了100%

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        d = {}
        rec = []
        for s in strs:
            sort_s = ''.join(sorted(s))
            if sort_s in d:
                rec[d[sort_s]].append(s)
            else:
                d[sort_s] = len(rec)
                rec.append([s])
        return rec
posted @ 2021-07-18 12:53  小Aer  阅读(3)  评论(0编辑  收藏  举报  来源