leetcode 49. 字母异位词分组

解题思路

排序后相等的字符串,划归为一组

时间复杂度

O(n*mlogm) (n:字符串个数;m:字符串长度)

空间复杂度

O(n*m) (n:字符串个数;m:字符串长度)

代码

1
2
3
4
5
6
7
8
from collections import defaultdict

class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
flag_to_list = defaultdict(list)
for s in strs:
flag_to_list[''.join(sorted(s))].append(s)
return list(flag_to_list.values())