ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

leetcode热题100-49:字母异位词分组

2026/8/2 12:41:42 拓冰建站 浏览量
leetcode热题100-49:字母异位词分组

给你一个字符串数组,请你将  组合在一起。可以按任意顺序返回结果列表。

 

示例 1:

输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]

输出: [["bat"],["nat","tan"],["ate","eat","tea"]]

 

解法一:质数表法

def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        alpha = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,51,53,57,59,61,67,71,73,79,83,87,89,91,97,101]
  cnt = defaultdict(list)
  for str in strs :
    mul = 1
    for s in str :
      mul *= alpha[ord(s)-ord('a')]
    cnt[mul].append(str)
  return list(cnt.vaules())