【发布时间】:2020-06-27 12:52:05
【问题描述】:
def distance(self, rootOfTree, key):
if rootOfTree is None:
return -1
totalDist = -1
if rootOfTree.key is key:
return totalDist + 1
else:
totalDist = self.distance(rootOfTree.left, key)
if totalDist >= 0:
return totalDist + 1
totalDist = self.distance(rootOfTree.right, key)
if totalDist >= 0:
return totalDist + 1
return totalDist
您好,我正在尝试通过查找从根到“key”参数中给出的特定节点的距离来使用递归进行编码。但我只能设法在函数中输入两个参数,这是我的 BST 的根和我想要找到的键。是否可以只指定“键”并遍历BST并在函数中找到“键”
这是我的代码的第二部分
print("Depth:", bst.distance(root, "I"))
【问题讨论】:
-
您能否给出一个已经构建的树并显示预期输出与您得到的输出?
-
distance是来自节点对象的函数吗?如果是这样,我们可以使用对象来存储信息,而不是通过参数传递。
标签: recursion binary-search-tree depth