首页 > 代码库 > 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.


去网上搜n个二叉搜索树的递推公式或者Catalan数,可以由h(n)=C(2n,n)/(n+1)得到h(n)=[2n*(2n-1)*...(n+2)]/[n!].

class Solution {
public:
    int numTrees(int n) {
        long long facN=1,fac2N=1;
        for(long long i=1;i<=n;i++)
            facN*=i;
        for(long long i=n+2;i<=2*n;i++)
            fac2N*=i;
        long long res=fac2N/facN;
        return res;
    }
};


leetcode-Unique Binary Search Trees