LeetCode49. Group Anagrams (Python)

xiaoxiao2021-02-28  99

题目描述: Given an array of strings, group anagrams together.

For example, given: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”], Return:

[ ["ate", "eat","tea"], ["nat","tan"], ["bat"] ]

Note: All inputs will be in lower-case.

思路: 首先对所给的字符串列表(数组)进行排序,即对其中的每一个字符串都进行排序,这样就可以得到哪些字符串是归位一组的。 接着将字符串列表转换为一个字典,并遍历key值得到最终的列表返回。

AC代码:

class Solution(object): def groupAnagrams(self, strs): """ :type strs: List[str] :rtype: List[List[str]] """ ans, res, ret = [], {}, [] for s in strs: temp = list(s) temp.sort() ans.append("".join(temp)) for i in range(len(ans)): if ans[i] not in res: res[ans[i]] = [] res[ans[i]].append(strs[i]) for key in res: ret.append(res[key]) return ret
转载请注明原文地址: https://www.6miu.com/read-35441.html

最新回复(0)