leetcode-49-字母异位词分组

题目描述:

方法一:

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

另:leetcode可通过:
class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        from collections import defaultdict
        lookup = defaultdict(list)
        for s in strs:
            lookup[tuple(sorted(s))].append(s)
        return list(lookup.values())

方法二:

class Solution:
    def groupAnagrams(self, strs) :
        ans = collections.defaultdict(list)
        for s in strs:
            count = [0] * 26
            for c in s:
                count[ord(c)-ord('a')] += 1
            ans[tuple(count)].append(s)
        return ans.values()

 

posted @ 2019-07-12 12:13  oldby  阅读(244)  评论(0编辑  收藏  举报