leetcode——95. 不同的二叉搜索树 II

不是我自己做出来的

class Solution(object):
    def generateTrees(self,n):
        Listn = [i for i in range(1, n+1)]
        def gt(List):
            res = []
            if not List:
                return [None]
            if len(List) == 1:
                return [TreeNode(List[0])]
            for k in range(len(List)):
                for left in gt(List[:k]):
                    for right in gt(List[k+1:]):
                        node = TreeNode(List[k])
                        node.left  = left
                        node.right = right
                        res.append(node)
            return res
        if n==0:
            return []
        return gt(Listn)
执行用时 :40 ms, 在所有 python 提交中击败了83.67%的用户
内存消耗 :15.6 MB, 在所有 python 提交中击败了5.69%的用户
 
——2019.11.13
posted @ 2019-11-13 16:42  欣姐姐  阅读(121)  评论(0编辑  收藏  举报