[NameError:name'name'is not defined,leetcode range of bst

问题描述 投票:0回答:1

我对Python还是很陌生,我在这个NameError上停留了一段时间。我以为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
python nameerror
1个回答
0
投票

treeRecurse是类Solution的方法。这有两个语法要求:

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

2)在递归调用期间,应像self.treeCurse那样调用。

© www.soinside.com 2019 - 2024. All rights reserved.