给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
示例:
输入: ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [ ["ate","eat","tea"], ["nat","tan"], ["bat"] ]
class Solution(object): def groupAnagrams(self, strs): """ :type strs: List[str] :rtype: List[List[str]] """ result = collections.defaultdict(list) # 建立一个字典,字典的value值可以为list for i in strs: key = "".join(sorted(i)) # python中对字符串排序的用法,排序后相同的值映射到同意key中 result[key].append(i) return result.values() # values返回字典中所有的value值
原文:https://www.cnblogs.com/ymec/p/14135071.html