题目地址:
https://leetcode.com/problems/group-anagrams/description/
思路参考:
首先每一组中,类别相同的几个字符串是因为所含字母相同。为每一个类别建议一个字典,字典key应该是字母,此时将字母按照字典序排列,如果属于这一类,就把value记下来,记到列表里。然后遍历字典,把字典里每一个类别对应的列表排序以后,加入到新的列表中,最后返回
class Solution(object):
def groupAnagrams(self, strs):
"""
:type strs: List[str]
:rtype: List[List[str]]
"""
zd = {}
for s in strs:
temp = ''.join(sorted(s))
if temp in zd:
zd[temp] +=[s]
else:
zd[temp] = [s]
ans =[]
for z in zd:
zd[z].sort()
ans += [zd[z]]
return ans