题目描述 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 思路 对每个单词构建一个字母哈希表,key 为字母的出现次数,value 为出现过的所有单词。 最终代码: class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: def build_hash(sStr): hash_set = [0] * 26 for ch in sStr: hash_set[ord(ch)-ord('a')] += 1 return tuple(hash_set) ret_dict = {} for s in strs: s_hash = build_hash(s) if s_hash not in ret_dict: ret_dict[s_hash] = [s] else: ret_dict[s_hash].append(s) return list(ret_dict.values()) 想得太多 利用 list 对 dict.values 做初始化