leetcode[96]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
class Solution {
public:
    int numTrees(int n) {
        if(n==0)return 1;
        if(n==1||n==2)return n;
        vector<int> res(n+1,0);
        res[0]=1;
        res[1]=1;
        res[2]=2;
        for(int i=3;i<=n;i++)
        {
            for(int k=0;k<i;k++)
            {
                res[i]+=res[k]*res[i-1-k];
            }
        }
        return res[n];
    }
};
原文地址:https://www.cnblogs.com/Vae1990Silence/p/4281375.html