美文网首页
每日一题20201214(49. 字母异位词分组)

每日一题20201214(49. 字母异位词分组)

作者: 米洛丶 | 来源:发表于2020-12-14 11:31 被阅读0次

    49. 字母异位词分组

    image-20201214112411400

    排序

    遍历数组,然后对字符串进行排序,如果是异或词,那他们排序后的值也是一样,利用这一点,通过维护一个默认存放空数组的字典将他们合并到一起。

    # 通俗解法
    class Solution:
       def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
           ans = {}
           for s in strs:
               key = "".join(sorted(s))
               if ans.get(key) is None:
                   ans[key] = [s]
               else:
                   ans[key].append(s)
           return list(ans.values())
    
    
    # 优雅写法
    import collections
    
    class Solution:
        def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
            ans = collections.defaultdict(list)
            for s in strs:
                key = "".join(sorted(s))
                ans[key].append(s)
            return list(ans.values())
     
    
    image-20201214113138963

    相关文章

      网友评论

          本文标题:每日一题20201214(49. 字母异位词分组)

          本文链接:https://www.haomeiwen.com/subject/mlhvgktx.html