二叉树深度的题目

# 这是一道关于二叉树深度的题目。题目要求我们输入一个二叉树的结点数和每个结点的左右子结点编号,然后输出这棵二叉树的最大深度。
# 对于这个问题,我们可以使用递归的方法来求解。以下是一个Python的代码示例:

 

depth = 1
def dfs(node, depth):
    if node == 0:
        return 0
    else:
        left_depth = dfs(node * 2 - 1, depth + 1)
        right_depth = dfs(node * 2, depth + 1)
        return max(left_depth, right_depth) + 1
def main():
    n = int(input())
    max_depth = 0
    for i in range(1, n + 1):
        left, right = map(int, input().split())
        dfs(i, 1)
        max_depth = max(max_depth, depth)
    print(max_depth)
if __name__== "__main__":
    main()

 

posted @ 2024-04-23 11:35  freedragon  阅读(6)  评论(0编辑  收藏  举报