当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。
二叉树的直径
简单diameterOfBinaryTree()时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O(n),空间 O(h)
二叉树的直径
给你一棵二叉树的根节点 root,返回该树的直径长度。
二叉树的直径是任意两个节点之间路径长度的最大值。这条路径可能不经过根节点。路径长度以边数计算。
约定
- 树用层序数组表示,
null表示空节点。 - 直径长度是路径上的边数,而不是节点数。
输入
root:二叉树根节点,节点数范围[1, 10^4],节点值范围-100 ~ 100
输出
直径长度(整数)。
示例一
输入:
root = [1,2,3,4,5]
输出:
3
解释:直径是路径 4 -> 2 -> 1 -> 3(或 5 -> 2 -> 1 -> 3),共 3 条边。
示例二
输入:
root = [1,2]
输出:
1
示例三
输入:
root = [1]
输出:
0
复杂度要求
- 时间复杂度:
O(n),每个节点访问一次 - 空间复杂度:
O(h),递归栈,h为树高
Loading...
输入
[[1,2,3,4,5]]
预期输出
3