题目描述

给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。

示例 :
给定二叉树

      1
     / \
    2   3
   / \     
  4   5    

返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。

注意:两结点之间的路径长度是以它们之间边的数目表示。

解题思路

递归,当前节点的长度为左右两节点的和+1;返回该节点的直径最大值(左右长度和的最大值+1)

语言积累和技巧

使用全局变量max来进行最大值的传递
一般可以使用全局变量的方法,还可以使用参数传递的方式

代码链接

https://github.com/lunaDolphi...


blueDolphin
12 声望1 粉丝