Unique Binary Search Trees

https://leetcode.com/problems/unique-binary-search-trees/

 1 class Solution {
 2 public:
 3     int numTrees(int n) {
 4         //典型的动态规划问题
 5         //先将n分段,分为左子树集合,端头节点,右子树集合
 6         int * nums=new int[n+1];
 7         if(n==0)
 8             return 0;
 9         nums[0]=1;
10         for(int i=1;i<=n;i++)  //大循环,用于计算nums[i]
11         {
12             int num=0;       //此时的循环到i截止
13             for(int j=1;j<=i;j++)
14             {
15                 num+=nums[j-1]*nums[i-j];
16             }
17             nums[i]=num;
18         }
19         return nums[n];
20     }
21 };
原文地址:https://www.cnblogs.com/aguai1992/p/4637480.html