【题目】
【代码】

# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def visit(self,root):
if not root:
return 0
l=max(self.visit(root.left),0)
r=max(self.visit(root.right),0)
self.cnt=max(self.cnt,l+r+root.val)
# print(root.val," l:",l," r:",r)
return root.val+max(l,r)
def maxPathSum(self, root: Optional[TreeNode]) -> int:
self.cnt=-30000000
self.visit(root)
return self.cnt
本文介绍了一种求解二叉树中最大路径和的算法实现。通过递归方式遍历二叉树节点,计算从根节点到任意叶子节点的最大路径之和,并更新全局变量以保存最大值。
1284

被折叠的 条评论
为什么被折叠?



