150. 二叉树的直径

leetcode 543 lintcode 1181

温馨提示:您没有权限查看当前视频。 立即购买观看视频

描述

这个题目说的是,给你一棵二叉树,你要计算出这棵树的直径。二叉树的直径定义为树上任意两个节点之间最长路径的长度。其中,两个节点之间的路径不一定要经过根节点。

比如说,给你的二叉树是:

     0
    / \
   1   2
  / \
 4   8

在这棵二叉树中,最长的路径有两条,分别为 [4, 1, 0, 2] 和 [8, 1, 0, 2],长度都为 3,因此你要返回的直径就是 3。

注意,直径的大小由两个节点之间边的数量来表示。在这个例子中,最长的两条路径上都有 3 条边,因此直径为 3。

关于 AlgoCasts

AlgoCasts 旨在用心做好每一个算法讲解视频。每个视频包含两个部分:题目的剖析讲解以及编码,力求在讲解清楚到位的基础上,尽可能地保持视频精简短小,让大家可以在碎片时间里进行学习,并收获这些算法题背后的思想与乐趣。