96不同的二查搜索树

   日期:2024-01-17     浏览:49    评论:0    
# 二叉搜索树的特点是左子树小于根节点,右子树大于根节点。
# 因此当根节点为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))
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服