96不同的二查搜索树

Posted cong12586

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了96不同的二查搜索树相关的知识,希望对你有一定的参考价值。

# 二叉搜索树的特点是左子树小于根节点,右子树大于根节点。
# 因此当根节点为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))

以上是关于96不同的二查搜索树的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 96. 不同的二叉搜索树 | Python

Leetcode 96.不同的二叉搜索树

Leetcode 96. 不同的二叉搜索树

LeetCode 96.不同的二叉搜索树

leetcode 96. 不同的二叉搜索树

力扣96——不同的二叉搜索树