如何解决计算范围内的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 child
和right child
之间时,您才呼叫node.value
和l
。即使r
不在node.value
和l
之间,您也已经给它们打电话。
因此,请更改r
方法内indentation
个块中的if
个。
检查以下代码。
traverse()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。