NameError:未定义名称'name',leetcode范围bst之和

2024-10-03 09:06:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python非常陌生,并且我已经被这个命名错误困扰了一段时间。我认为这可能是treeRecurse函数的语法错误,这就是我无法正确调用该函数的原因。但在这一点上,我真的迷路了。有人有什么想法吗

代替def treeRecurse (node: TreeNode, ret, L: int, R: int):我试过def treeRecurse (node, ret, L, R):

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right

class Solution:

    def treeRecurse (node: TreeNode, ret, L: int, R: int):

        if node.val >= L & node.val <= R: ret.append(node.val)

        if node.right != None: treeRecurse(node.right, ret, L, R)
        if node.left != None: treeRecurse(node.left, ret, L, R)

    def rangeSumBST(self, root: TreeNode, L: int, R: int) -> int:

        ret = []
        treeRecurse(root, ret, L, R)
        return ret

Tags: 函数selfrightnonenodeifdefval
1条回答
网友
1楼 · 发布于 2024-10-03 09:06:53

treeRecurse是类Solution的一个方法。这会带来一些语法要求:

1)方法treeRecurse应该有一个参数self作为第一个参数,即def treeRecurse (self, node: TreeNode, ret, L: int, R: int):

2)在递归调用期间,也应该像self.treeRecurse(...)一样调用它

相关问题 更多 >