方法一:动态规划
注意是乘法不是加法!
左边树的个数 * 右边树的个数
class Solution {
public:
int numTrees(int n) {
vector<int> vc(n+1);
vc[0]=1;
vc[1]=1;
for(int i=2;i<=n;i++){
for(int j=1;j<=i;j++){
vc[i]+=vc[j-1]*vc[i-j];
}
}
return vc[n];
}
};