leetcode: 49. Group Anagrams

来源:互联网 发布:手机画平面图软件 编辑:程序博客网 时间:2024/05/22 13:15

Q

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.

AC

class Solution(object):    def groupAnagrams(self, strs):        """        :type strs: List[str]        :rtype: List[List[str]]        """        if len(strs)==0:            return []        d={}        for s in strs:            k="".join(sorted(s))            if not d.has_key(k):                d[k] = []            d[k].append(s)        result=[]        for k,v in d.items():            result.append(v)        return resultif __name__ == '__main__':    strs = [["ate", "eat","tea"],            ["nat","tan"],            ["bat"]]    result = Solution().groupAnagrams(strs)    assert result == [[['nat', 'tan']], [['bat']], [['ate', 'eat', 'tea']]]


原创粉丝点击