[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

思考:子问题分解,累加左孩子数*右孩子数。
class Solution {
public:
    int numTrees(int n) {
        vector<int> dp(n+1,0); //vector<int> dp(n,0);初始化出错
        dp[0]=1;
        dp[1]=1;
        for(int i=2;i<=n;i++)
        {
            for(int j=0;j<i;j++)
            dp[i]+=dp[j]*dp[i-1-j];
        }
        return dp[n];
    }
};

  

 
原文地址:https://www.cnblogs.com/Rosanna/p/3469186.html