96. 不同的二叉搜索树
class Solution {
public:int numTrees(int n) {int dp[30]={0};//由i个结点组成的二叉搜索树有多少种dp[0]=1; for(int i=1;i<=n;i++)for(int j=0;j<i;j++)//j表示根节点左子树有j个结点dp[i]+=dp[j]*dp[i-j-1];//对根节点左右子树结点数量遍历//数量有左子树的数量*右子树的数量即可,累加和//左子树为0时也有数值所以dp[0]为1return dp[n];}
};