码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode-95-不同的二叉搜索树②*

时间:2019-07-14 12:48:21      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:技术   col   图片   div   list   不同的   题目   val   init   

题目描述:

技术图片

方法一:递归

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def generateTrees(self, n: int) -> List[TreeNode]:
        def generate_trees(start,end):
            if start > end:
                return [None,]
            all_trees = []
            for i in range(start,end+1):
                left_trees = generate_trees(start,i-1)
                right_trees = generate_trees(i+1,end)
                for l in left_trees:
                    for r in right_trees:
                        current_tree = TreeNode(i) 
                        current_tree.left = l 
                        current_tree.right = r 
                        all_trees.append(current_tree)
            return all_trees
        return generate_trees(1,n) if n else []

 

leetcode-95-不同的二叉搜索树②*

标签:技术   col   图片   div   list   不同的   题目   val   init   

原文地址:https://www.cnblogs.com/oldby/p/11183687.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!