# 二叉搜索树的特性是左子树低于根节点	,右子树超过根节点	。
# 因而当根节点为i的情况下,左子树的值为1:i-1,右子树为i 1:n
# 当连接点为n的情况下全部的可以构成的树为左子树个数乘于右子树个数。
class Solution:
def numTrees(self, n: int) -> int:
dp = [0] * (n 1)
dp[0] = 1
for index1 in range(1,n 1):
for index2 in range(1,index1 1):
# dp[index2 - 1]意味着左子树个数
# dp[index1 - index2]意味着右子树个数
dp[index1] = dp[index2 - 1] * dp[index1 - index2]
return dp[n]
A = Solution()
print(A.numTrees(3))
文章来源于网络 ,如有侵权请联系站长QQ61910465删除
本文版权归趣快排www.sEoguruBlog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ✈61910465