CodeACM
HOT 100 · 二叉树 · LC 543

二叉树的直径:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给你一棵二叉树的根节点,返回该树的 直径 。

二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。

两节点之间路径的 长度 由它们之间边数表示。

输入格式

第一行输入层序序列记号数 n,第二行输入包含整数和 null 的层序序列。

输出格式

输出一个整数,表示二叉树的直径;单节点树直径为 0。

数据范围

  • 1 ≤ 节点数 ≤ 10⁴
  • −100 ≤ 节点值 ≤ 100

公开样例

样例 1

输入

5
1 2 3 4 5

输出

3

节点 4 到节点 3 的路径包含三条边。

样例 2

输入

2
1 2

输出

1

两个节点之间只有一条边。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。