牛客题霸 NC6 二叉树的最大路径和
Posted Starzkg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客题霸 NC6 二叉树的最大路径和相关的知识,希望对你有一定的参考价值。
https://www.nowcoder.com/practice/da785ea0f64b442488c125b441a4ba4a
解决方案
Go
var res int = -1e10
func maxPathSum(root *TreeNode) int {
// write code here
getMaxPathSum(root)
return res
}
func getMaxPathSum(root *TreeNode) int {
if root == nil {
return 0
}
leftMax := max(0, getMaxPathSum(root.Left))
rightMax := max(0, getMaxPathSum(root.Right))
res = max(res, root.Val+max(leftMax+rightMax, max(leftMax, rightMax)))
return max(leftMax, rightMax) + root.Val
}
func max(a, b int) int {
if a > b {
return a
}
return b
}
参考文章
以上是关于牛客题霸 NC6 二叉树的最大路径和的主要内容,如果未能解决你的问题,请参考以下文章