如何为哈希表设计合适的键。
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
示例:
输入: ["eat", "tea", "tan", "ate", "nat", "bat"]
输出: [ ["ate","eat","tea"], ["nat","tan"], ["bat"] ] 说明:
所有输入均为小写字母。
不考虑答案输出的顺序。
补全下面代码:
class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/6/1 23:11
# @Author : caius
# @Site :
# @File : day10.py
# @Software: PyCharm
class Solution:
def __init__(self,data):
self.data = data
self.d = {} # 存储宝石哈希表
def groupAnaram(self):
for i in self.data:
l =list(i)
l = sorted(l)
s = "".join(l)
if s in self.d.keys():
self.d[s].append(i)
else:
self.d[s] = [i]
return list(self.d.values())
if __name__ == '__main__':
d = ['eat','tea','tan','ate','bat']
s = Solution(d)
print(s.groupAnaram())