#4804. 二叉树的直径

二叉树的直径

题目描述

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

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

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

输入格式

第一行两个空格分开的整数,分别表示此树的节点总数 nn 和根节点的编号 rootroot

接下来一行 n1n-1 个空格分开的整数,第 ii 个表示编号为 i+1i + 1 的父节点编号;

输出格式

一行一个整数表示答案。

示例 1:

粘贴图片

5 1
1 1 2 2
3

解释: 3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。

示例 2:

2 1
1
1

提示:

  • 树中节点数目在范围 [1,104][1, 10^4]
  • 100<=Node.val<=100-100 <= Node.val <= 100

SOURCE

二叉树的直径