题目详见 49.字母异位词分组
题目难点
- 题目是一个二维数组
- 怎么判断当前词为异位词
- 怎么将异位词分到一组,然后用一个大数组append住
思路
- 采用dict的方法来解决
- 采用排序的方法将所有键为key的放在一起
- 这里采用dict的values为defaultdict(list)
Talk is cheap, show me the code
class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
from collections import defaultdict
mp = defaultdict(list) # 创建一个值为list类型的列表
for st in strs:
key = ''.join(sorted(st)) # 将key相同的值通过list append起来
mp[key].append(st)
return list(mp.values())