leetcode刷题-49字母异位词分组
题目
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
思路
由于异位词由相同字母构成,所以可以用一个顺序的字符串作为这些字母异位词的标志,由此可以想到字典的方法。例如"ate","eat","tea",可以将"aet"作为键,字符串作为值加入其中。
实现
class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: dic = {} for i in strs: tmp = "".join((lambda x:(x.sort(),x)[1])(list(i))) dic.setdefault(tmp,[]).append(i) result = list(dic.values()) return result