如何解决方法内的递归
在我的代码中,我正在计算完整的二叉树中的节点数,因此决定使用递归方法。但是,当我在自身内部调用方法时,出现NameError:未定义名称“ countNodes”。
# class TreeNode:
# def __init__(self,val=0,left=None,right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def countNodes(self,root: TreeNode,count = 0) -> int:
if not root.left and not root.right:
return 1
else:
count += countNodes(self,root.left,count) + countNodes(self,root.right,count)
解决方法
回答这个问题。
在类中访问method
实例的class
时,必须使用self.method
。因此,在您的情况下,您必须使用self.countNodes
而不是countNodes
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。