class Solution { public: int numTrees(int n) { if(!n||n==1)return 1; vector<int> numVector; numVector.assign(n+1,0); numVector[0]=1; numVector[1]=1; for(int i=2;i<=n;++i) { for(int j=0;j<=i-1;++j) { numVector[i]+=numVector[j]*numVector[i-1-j]; } } return numVector[n]; } };