标签:
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 };
标签:
原文地址:http://www.cnblogs.com/aguai1992/p/4637480.html