【发布时间】:2018-07-25 17:29:22
【问题描述】:
我正在尝试实现一种递归方法来计算二叉树的高度。这是“高度”的代码:
def HeightOfTree(self):
if self.root is None:
return 0
else:
ans=self._HeightOfTree(self.root)
return ans
def _HeightOfTree(self,currentNode):
if currentNode.hasleftChild():
lheight=1+self._HeightOfTree(currentNode.leftChild)
if currentNode.hasrightChild():
rheight=1+self._HeightOfTree(currentNode.rightChild)
if lheight > rheight:
return (lheight+1)
else:
return (rheight+1)
当我尝试调用该函数时,我收到以下错误消息:
UnboundLocalError: local variable 'lheight' referenced before assignment
我该如何解决这个问题?
【问题讨论】:
-
你的树是什么单节点?
lheight或rheight都没有值。 -
附注:无论何时使用递归,都需要有一个基本情况。否则,函数将永远不会结束(或者会崩溃)。
标签: python python-3.x recursion tree