当前位置: 首页> 文旅> 酒店 > leetcode124 二叉树中的最大路径和-dp

leetcode124 二叉树中的最大路径和-dp

时间:2025/7/11 14:42:43来源:https://blog.csdn.net/midi666/article/details/139134415 浏览次数:0次
题目

二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。

路径和 是路径中各节点值的总和。

给你一个二叉树的根节点 root ,返回其 最大路径和 。

示例

输入:root = [-10,9,20,null,null,15,7]
输出:42
解释:最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42
在这里插入图片描述

解析
func maxPathSum(root *TreeNode) int {ans := math.MinIntvar dfs func(*TreeNode) intdfs = func(node *TreeNode) int {if node == nil {return 0 // 没有节点,和为0}leftMaxVal := dfs(node.Left)                         // 左子树最大链和rightMaxVal := dfs(node.Right)                       // 右子树最大链和ans = max(ans, leftMaxVal+rightMaxVal+node.Val)      // 两条链拼成路径return max(max(leftMaxVal, rightMaxVal)+node.Val, 0) // 当前子树最大链和}dfs(root)return ans
}
关键字:leetcode124 二叉树中的最大路径和-dp

版权声明:

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

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

责任编辑: