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
1 class Solution { 2 public: 3 int numTrees(int n) { 4 if(n == 0) 5 return 1; 6 else if(n == 1) 7 return 1; 8 else 9 { 10 int count = 0; 11 for(int i = 0; i <= (n-1)/2; i ++) 12 { 13 if(i < n-1-i) 14 count += 2*numTrees(i)*numTrees(n-1-i); 15 else 16 count += numTrees(i)*numTrees(n-1-i); 17 } 18 return count; 19 } 20 } 21 };
【LeetCode】96 - Unique Binary Search Trees
原文:http://www.cnblogs.com/irun/p/4719720.html