标签:style blog color ar strong for div sp log
Given n, how many structurally unique BST‘s (binary search trees) that store values 1...n?
For example,
Given n = 3, there are a total of 5 unique BST‘s.
   1         3     3      2      1
    \       /     /      / \           3     2     1      1   3      2
    /     /       \                    2     1         2                 3
题目的意思是,给定一个节点数n,问可以组合成多少种二叉树。
这里提供两种解法,递归法 和 动态规划法
def numTrees(self, n): if n ==1 or n ==0: return 1 else: i=1 sum=0 while i<=n: sum =sum+self.numTrees(i-1)*self.numTrees(n-i) i =i+1 return sum
def numTrees(self, n): if n ==1 or n ==0: return 1 dp =[] i =1 while i <= n+1: dp.append(0) i = i + 1 dp[0] =1 dp[1] =1 i =2 while i <=n: j =1 sumVal =0 while j <= i: sumVal = sumVal + dp[j-1]*dp[i-j] j =j + 1 dp[i] =sumVal i = i + 1 return dp[n]
[leetcode] Unique Binary Search Trees (python)
标签:style blog color ar strong for div sp log
原文地址:http://www.cnblogs.com/zhidan/p/3977554.html