给定二叉搜索树的根结点 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。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/range-sum-of-bst
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def rangeSumBST(self, root, L, R):
"""
:type root: TreeNode
:type L: int
:type R: int
:rtype: int
"""
self.res=0
def helper(root):
if root:
if root.val>=L and root.val<=R:
self.res+=root.val
if root.val>L:
helper(root.left)
if root.val<R:
helper(root.right)
helper(root)
return self.res
执行结果:
通过
显示详情
执行用时 :228 ms, 在所有 Python 提交中击败了89.20%的用户
内存消耗 :29.1 MB, 在所有 Python 提交中击败了100.00%的用户