0
的至少共同的祖先,我对以下问题的工作类:错误发现二叉搜索树
找到两个节点之间的最小共同祖先在二叉搜索树 。
我已经转入下面的代码,并被通知它不能正常工作,即使我认为我已经正确地解决了所有问题。有人可以提供有关我在做什么错误的见解吗?
# Main Function.
def Question4(T, r, n1, n2):
# Compare values of n1, n2, in relation to r to find LCA.
while not n1 <= r <= n2:
r = r if n1 <= r else r
# return LCA.
return r
# Test Cases.
T = [[0, 1, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[1, 0, 0, 0, 1],
[0, 0, 0, 0, 0]]
r = 3
p = 1
q = 4
print ("Least Common Ancestor is:", Question4(T, r, p, q))
# Least Common Ancestor:
# 3
什么是T,r,n1和n2?那些是神秘的变量名称,你能至少描述它们吗? – usamec
代码没有任何意义(它会返回'r'或者不会终止),所以我猜测它甚至从未在单个测试用例上运行过。你执行了哪些步骤来检查“一切工作正常”? –
对不起,'T'代表树'r'的根,'n1,n2'代表两个节点。尽管如下所述,我认为我缺乏如何解决这个问题的基本概念。我很可能需要重新编写它。 – NoOrangeJuice