Unique Binary Search Trees II Leetcode Python
2015-01-15 10:43
633 查看
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.
For example,
Given n = 3, your program should return all 5 unique BST's shown below.
1 3 3 2 1
\ / / / \ \
3 2 1 1 3 2
/ / \ \
2 1 2 3
confused what "{1,#,2,3}" means? > read more on how binary tree is serialized on OJ.
这道题目的做法和之前的unique BST略有不同,但主体思想是一致的。选定一个点作为根,依次产生可行的子树,然后把解加到最后的解里面。
The way to solve this problem is to find a root in the given number then construct valid left and right subtrees then append it to the solution. valid condition is left<mid<right
For example,
Given n = 3, your program should return all 5 unique BST's shown below.
1 3 3 2 1
\ / / / \ \
3 2 1 1 3 2
/ / \ \
2 1 2 3
confused what "{1,#,2,3}" means? > read more on how binary tree is serialized on OJ.
这道题目的做法和之前的unique BST略有不同,但主体思想是一致的。选定一个点作为根,依次产生可行的子树,然后把解加到最后的解里面。
The way to solve this problem is to find a root in the given number then construct valid left and right subtrees then append it to the solution. valid condition is left<mid<right
# Definition for a binary tree node # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: # @return a list of tree node def getTree(self,start,end): if start>end: return [None] solution=[] for rootval in range(start,end+1): left=self.getTree(start,rootval-1) right=self.getTree(rootval+1,end) for i in left: for j in right: root=TreeNode(rootval) root.left=i root.right=j solution.append(root) return solution def generateTrees(self, n): return self.getTree(1,n)
相关文章推荐
- [Leetcode]@python 95. Unique Binary Search Trees II
- [LeetCode]题解(python):095-Unique Binary Search Trees II
- [leetcode]Unique Binary Search Trees II @ Python
- 【Leetcode】【python】Unique Binary Search Trees II
- LeetCode : Unique Binary Search Trees II
- [leetcode]Unique Binary Search Trees II
- Leetcode: Unique Binary Search Trees II
- [LeetCode]Unique Binary Search Trees II
- LeetCode 95: Unique Binary Search Trees II
- LeetCode: Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- [leetcode]Unique Binary Search Trees II
- LeetCode-Unique Binary Search Trees II
- LeetCode - Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- [leetcode]Unique Binary Search Trees II
- LeetCode —— Unique Binary Search Trees II
- LeetCode-Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II, Solution
- leetcode Unique Binary Search Trees II