最新设计网站大全深圳网站建设公司怎么样
在画的过程中发现规律,每次选择不同的节点作为根节点,左右两边的节点再排列组合一下就能求出总数

class Solution {
public:int numTrees(int n) {vector<int> dp(n+1,0);dp[0]=1;for(int i=1;i<=n;i++)for(int j=0;j<i;j++)dp[i]+=dp[i-j-1]*dp[j];return dp[n];}
};
在画的过程中发现规律,每次选择不同的节点作为根节点,左右两边的节点再排列组合一下就能求出总数

class Solution {
public:int numTrees(int n) {vector<int> dp(n+1,0);dp[0]=1;for(int i=1;i<=n;i++)for(int j=0;j<i;j++)dp[i]+=dp[i-j-1]*dp[j];return dp[n];}
};