题目:
方法:
首先将strs中的每一个字符串转换为list进行排序,再append进新的list中
此时字符串的顺序变为一致,但在strs中的索引没有变化
接下来构建一个dict,采用hash table的方法,遍历新的list
key值为字符串,value为出现的索引
最后把索引对应的字符串添加进新的列表中
输出,结束
class Solution:
def groupAnagrams(self, strs):
"""
:type strs: List[str]
:rtype: List[List[str]]
"""
temp = []
dict1 = {}
result = []
for i in range(len(strs)):
x = list(strs[i])
x.sort()
temp.append("".join(x))
for i in range(len(temp)):
if temp[i] not in dict1:dict1[temp[i]] = [i]
else:dict1[temp[i]].append(i)
print(dict1)
for v in dict1:
for j in range(len(dict1[v])):
dict1[v][j] = strs[dict1[v][j]]
result.append(dict1[v])
return result