49. 字母异位词分组(哈希表)
1. 题目描述
难度:中等
2. 题目分析
这道题的目的就是找出由相同字母组成的字符的集合。非常直观的方法就是利用哈希表进行筛选:
- 哈希表(Python)
本题由python中的字典实现。依次遍历字符串,将该字符串进行排序。以排序后的字符为键值,根据排序的结果依次放入字典的值中,最后输出字典的值即可。时间复杂度为O(n)。
3. Python实现
代码如下:
class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
# 新建一个字典
dic = {}
# 遍历列表
for s in strs:
keys = "".join(sorted(s))
if keys not in dic:
dic[keys] = [s]
else:
dic[keys].append(s)
return list(dic.values())
运行结果为: