687. 最长同值路径

题目描述

  给定一个二叉树的 root ,返回最长的路径的长度 ,这个路径中的每个节点具有相同值 。 这条路径可以经过也可以不经过根节点。两个节点之间的路径长度由它们之间的边数表示。

提示:

  • 树的节点数的范围是 [0, 104] 
  • -1000 <= Node.val <= 1000
  • 树的深度将不超过 1000 

 

解题思路

  以某个节点为起点,该子树的 最长同值路径 = 左子树的最长同值路径 + 右子树的最长同值路径 。要想得到二叉树的最长同值路径,只需要遍历所有子树的最长同值路径,找到最大值即可。树的形状如下几种情况:

 

posted @ 2022-09-06 09:06  ˙鲨鱼辣椒ゝ  阅读(23)  评论(0)    收藏  举报