首页 > 代码库 > LeetCode——Unique Binary Search Trees

LeetCode——Unique Binary Search Trees

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
原题链接:https://oj.leetcode.com/problems/unique-binary-search-trees/


题目:给定n,有多少个1到n的二叉搜索树?

思路:问题可以分成两步,一是(1,i-1)的个数,一是(i+1,n)的个数,两者相乘,就是总的个数。


	public int numTrees(int n) {
		if(n == 1 || n == 0)
			return 1;
		else{
			int num = 0;
			for(int i=1;i<=n;i++)
				num += numTrees(i - 1) * numTrees(n - i);
			return num;
		}
	}