0124: Binary Tree Maximum Path Sum
class Solution:
def maxPathSum(self, root):
cmax = float('-inf')
def rec(node):
nonlocal cmax
if not node:
return 0
lsum = max(0, rec(node.left))
rsum = max(0, rec(node.right))
cmax = max(cmax, node.val + lsum + rsum)
return node.val + max(lsum, rsum)
rec(root)
return cmax