image.png

思路

image.png

code

  1. public int numTrees(int n) {
  2. int[] dp = new int[n+1];
  3. dp[0]=1;
  4. dp[1]=1;
  5. //从n=2自底向上计算
  6. for(int i=2;i<=n;i++){
  7. for(int j=1;j<i+1;j++)
  8. dp[i]+=dp[j-1]*dp[i-j]; //递推公式
  9. }
  10. return dp[n];
  11. }