Binary Tree Maximum Path Sum LeetCode solution in Python
1class Solution:2def maxPathSum(self, root: Optional[TreeNode]) -> int:3self.res = root.val45def solving(root):6if not root:7return 08current = root.val9sleft, sright = float("-inf"), float("-inf")10if root.left:11sleft = solving(root.left)12if sleft >= 0:13current += sleft14if root.right:15sright = solving(root.right)16if sright >= 0:17current += sright18if current > self.res:19self.res = current20return max(root.val, root.val + sleft, root.val + sright)2122solving(root)23return self.res