您的位置:首页 > 新闻 > 热点要闻 > 黄页堆广_设计制作过程_可以建网站的网络公司有哪些_云优化软件

黄页堆广_设计制作过程_可以建网站的网络公司有哪些_云优化软件

2025/8/31 11:29:05 来源:https://blog.csdn.net/lxh0113/article/details/144595456  浏览:    关键词:黄页堆广_设计制作过程_可以建网站的网络公司有哪些_云优化软件
黄页堆广_设计制作过程_可以建网站的网络公司有哪些_云优化软件

链接:124. 二叉树中的最大路径和 - 力扣(LeetCode)

题中所说的路径指的是 

一条从树中任意节点出发,达到任意节点的序列,该路径至少包含一个节点,且不一定经过根节点。

了解以上之后,我们所需要求得是全局最大值

那么就有三种情况,在二叉树某个节点中

比如说上面这个节点,对于所有的某个非叶节点(如果是),这个节点所能构成的最大值有三种情况

  1. 在左子树上
  2. 在右子树上
  3. 在左子树和右子树包括该节点的这条路径上

所以我们需要考虑到这三个情况,同时如果左子树和右子树都出现了负数,其实我们是要舍弃的,我们就需要 max(0,左子树 or 右子树 最大值)

function maxPathSum(root: TreeNode | null): number {let maxSum = Number.MIN_SAFE_INTEGER;// 递归获取最大值function fun(root: TreeNode | null): number {if (root === null) return 0;// 寻找左子树最大值let leftMax = Math.max(0, fun(root.left));// 右子树最大值let rightMax = Math.max(0, fun(root.right));// 包括当前节点的路径最大值let curMax = root.val + leftMax + rightMax;// 更新最大值maxSum = Math.max(curMax, maxSum);//不断更新值return root.val + Math.max(leftMax, rightMax);//往上迭代}// 调用遍历fun(root)return maxSum
}

所以得出以上结果

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com