定义:对于任意节点 u,假设它的左子树深度为 Lu,右子树深度为 Ru,那么经过 u 的最长路径长度为 Lu+Ru。
全局直径:我们需要维护一个全局变量 diameter,初始化为 0。对树中每个节点 u,更新:
diameter=max(diameter,Lu+Ru)
递归计算深度:使用后序遍历,对于节点 u:
给定一棵二叉树序列,返回该树的直径。 二叉树的直径指树中任意两个节点之间最长路径的长度。这条路径可能经过也可能不经过根节点root。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册