用于计算Tree的根左侧的节点数的功能

时间:2019-04-14 07:15:33

标签: algorithm

如何计算根节点左侧的节点?这与计算树中的所有剩余节点不同。

1 个答案:

答案 0 :(得分:0)

您应该通过跟踪根与所有其他节点之间的水平距离来计算根左侧的节点。 按顺序遍历树并记住当前位置(如果向左移动则为+1,向右移动则为-1)就足以完成任务。

def count_left(tree, current_position):
    if tree is None:
        return 0

    is_left = 1 if current_position > 0 else 0
    return is_left + count_left(tree.right, current_position -1) + count_left(tree.left, current_position +1)

count_left(tree.left, 1)