LeetCode-面试题 10.02. 变位词组
编写一种方法,对字符串数组进行排序,将所有变位词组合在一起。变位词是指字母相同,但排列不同的字符串。
注意:本题相对原题稍作修改
方法:首先对每一个字符串排序,然后用字典存储同一个变位词在列表中的位置,用列表存储变位词,最后返回列表就可以,时间上达到了100%
class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
d = {}
rec = []
for s in strs:
sort_s = ''.join(sorted(s))
if sort_s in d:
rec[d[sort_s]].append(s)
else:
d[sort_s] = len(rec)
rec.append([s])
return rec