相同字母不同排列的方式算作一个,则设置 defaultdict 记录每个排序好的字符的相关字符串集合,再根据集合长度排序并加入到最终的结果集中
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param strs string字符串一维数组
# @return string字符串二维数组
#
from collections import defaultdict
class Solution:
def groupAnagrams(self , strs: List[str]) -> List[List[str]]:
# write code here
count = defaultdict(list)
for i, s in enumerate(strs):
count["".join(sorted(s))].append(s)
res = []
for k, v in sorted(count.items(), key=lambda x:len(x[1])):
res.append(v)
return res