标签:
题目:
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
思路:
依次把每个节点作为根节点,左边节点作为左子树,右边节点作为右子树,那么总的数目等于左子树数目*右子树数目
/** * @param {number} n * @return {number} */ var numTrees = function(n) { if(n==0){ return 1; } if(n==1){ return 1; } var count=[]; var temp; count[0]=1; count[1]=1; count[2]=2; for(var i=3;i<=n;i++){ temp=0; for(var k=0;k<i;k++){ temp+=count[k]*count[i-k-1] } count[i]=temp; } return count[n]; };
标签:
原文地址:http://www.cnblogs.com/shytong/p/5164207.html