zoukankan      html  css  js  c++  java
  • 938. 二叉搜索树的范围和

    给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。

    二叉搜索树保证具有唯一的值。

    示例 1:

    输入:root = [10,5,15,3,7,null,18], L = 7, R = 15
    输出:32
    示例 2:

    输入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10
    输出:23
     

    提示:

    树中的结点数量最多为 10000 个。
    最终的答案保证小于 2^31。

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def rangeSumBST(self, root: TreeNode, L: int, R: int) -> int:
            if not root:return 0
            if root.val>R:
                return self.rangeSumBST(root.left,L,R)
            elif root.val<L:
                return self.rangeSumBST(root.right,L,R)
            else:
                return self.rangeSumBST(root.left,L,R)+root.val+self.rangeSumBST(root.right,L,R)
  • 相关阅读:
    【CF 359B】Permutation
    如何更新 DevC++ 的编译器
    【LG 2801】教主的魔法
    矩阵浅谈
    NOI 系列赛常见技术问题整理
    Treap 浅谈
    DP 优化浅谈
    友链
    【CF 708C】Centroids
    我跳过的坑
  • 原文地址:https://www.cnblogs.com/xxxsans/p/13761858.html
Copyright © 2011-2022 走看看