计算范围内的BST之和

问题描述

有人可以告诉我我的代码有什么问题吗?测试用例返回25 给定二叉搜索树的根节点,返回值介于L和R之间(含L和R)的所有节点的值之和。

保证二进制搜索树具有唯一值。 输入:root = [10,5,15,3,7,null,18],L = 7,R = 15 输出:32 我的输出:25

class Solution:
    def rangeSumBST(self,root: TreeNode,L: int,R: int) -> int:
        self.sum1=0
        self.traverse(root,L,R)
        return self.sum1
    def traverse(self,node,R):
        if node:
            if L<=node.val<=R:
                self.sum1+=node.val
                if L<node.val:
                    self.traverse(node.left,R)
                if node.val<R:
                    self.traverse(node.right,R)

解决方法

仅当当前.. xyz documentation master file,created by sphinx-quickstart on... You can adapt this file.... XYZ documentation =================== .. toctree:: :maxdepth: 2 :caption: Help Contents: modules/abc.rst modules/definitions/define_ques_list.rst help_on_help.rst .. toctree:: <= New line :hidden: <= New line modules/definitions/capa.rst. <= New line 位于范围left childright child之间时,您才呼叫node.valuel。即使r不在node.valuel之间,您也已经给它们打电话。

因此,请更改r方法内indentation个块中的if个。
检查以下代码。

traverse()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...