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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步