【力扣543】二叉树的直径
题目
给你一棵二叉树的根节点,返回该树的 直径 。
二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。
两节点之间路径的 长度 由它们之间边数表示。
示例 1:

1 | 输入:root = [1,2,3,4,5] |
示例 2:
1 | 输入:root = [1,2] |
提示:
- 树中节点数目在范围
[1, 104]内 -100 <= Node.val <= 100
实现代码
通过二叉树的递归遍历(DFS)实现
1 | /** |
时间复杂度
因为会走完所有节点,所以为O(N)
空间复杂度
递归遍历所占的额外空间就是占用的栈帧内存,取决于数的高度h,平均情况下是O(logN),最坏情况下数呈现链状,为O(N),所以空间复杂度是O(h)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 青柠!
评论


















































