96.不同的二叉搜索树
dp[i]:n=1时不同的二叉搜索树有多少种
n=1时,有一颗二叉搜索树
n=2时,有两颗(1头结点,2右子树 & 2头结点,1左子树 )
n=3时,可以看出,当以1/3为头结点时,子树的形态各有两种,且与n=2时相同。
因此n=3,当1为头结点有dp[3-1]种解法,2为头结点有dp[3-2]种解法,3为头结点有dp[3-3]种解法
dp[3]=dp[0]*dp[2]+dp[1]*dp[1]+dp[2]*dp[0]
即j从0开始 dp[i]+=dp[j]*dp[i-j-1]
或j从1开始 dp[i]+=dp[j-1]*dp[i-j]