public class Solution {
public int numTrees(int n) {
int[] dp = new int[n+3];
dp[0] = 1;
dp[1] = 2;
dp[2] = 5;
if(n==0)return 0;
if(n<=3)return dp[n-1];
for(int i=3; i<n;i++)
for(int j=0;j<=i;j++){
if(j<=1){
dp[i] +=dp[i-j-1];
}
else if(i-j<=1){
dp[i]+=dp[j-1];
}
else{
dp[i]+=dp[i-j-1]*dp[j-1];
}
}
return dp[n-1];
}
}
96. Unique Binary Search Trees
最新推荐文章于 2021-05-17 12:15:23 发布