#6936. 二叉树的最大深度

二叉树的最大深度

二叉树深度求法

题目描述

给定一个包含 nn 个节点的二叉树,节点编号从 11 到 nn,其中根节点固定为编号 11 的节点。

请编写一个程序,读入每个节点的左右子节点编号,求出这棵二叉树的最大深度。

二叉树的最大深度定义为从根节点到最远叶子节点的最长路径上的节点数。


输入格式

第一行包含一个整数 nn,表示二叉树的节点总数。

接下来的 nn 行中,第 ii 行(1≤i≤n1 \le i \le n)包含两个整数 lil_i 和 rir_i,分别表示编号为 ii 的节点的左子节点编号和右子节点编号。如果某个节点没有左子节点或右子节点,则对应的编号为 00。


输出格式

输出一行一个整数,表示该二叉树的最大深度。


样例

样例输入

3
2 3
0 0
0 0

样例输出

2


提示与数据范围

  • 节点总数 nn 满足:1≤n≤10001 \le n \le 1000。
  • 节点编号从 11 到 nn,根节点固定为 11。

提示 / 说明

【数据范围】

  • 树中节点的数量 NN 满足 0≤N≤1040 \le N \le 10^4。
  • 节点值满足 −100≤Val≤100-100 \le \text{Val} \le 100。
测试点编号 层级 n 特殊性质 标准输出 设计目的
1 弱数据 1 单结点树 1 检查最小规模及高度按结点数计算
2 7 满二叉树 3 检查左右子树等高的基础情况
3 正常数据 8 完全左斜链 8 检查单侧子树、递归深度和空右子树
4 12 左右不平衡、分支混合 5 检查程序是否正确取两棵子树高度的最大值
5 极限数据 999 完全左斜链 999 覆盖数组安全上界和最大递归深度