我试图理解算法。我认为这是从P到Q的最短路线,但这并不总是正确的(p,q,二进制树中的两个节点)..谢谢!
c <- 0
while p ≠ q
if right[p] ≠ NULL
p <- right[p]
while left[p] ≠ NULL
p <- left[p]
else
if left[p] = NULL
c <- c + 1
while p = right[parent[p]]
p <- parent[p]
p <- parent[p]
return c
如果您按其值遍历节点,则在节点P和Q之间计算叶子数。
它正在计算树中有多少个底部级节点(即那些既不是右子也没有左子女的节点)。请注意," c"仅对这是真的的节点进行增量。