124. 二叉樹中的最大路徑和
阿新 • • 發佈:2020-07-27
給定一個非空二叉樹,返回其最大路徑和。
本題中,路徑被定義為一條從樹中任意節點出發,達到任意節點的序列。該路徑至少包含一個節點,且不一定經過根節點。
示例 1:
輸入: [1,2,3]
1
/ \
2 3
輸出: 6
示例2:
輸入: [-10,9,20,null,null,15,7]
-10
/ \
9 20
/ \
15 7
輸出: 42
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/binary-tree-maximum-path-sum
遞迴水題
# Definition for a binary tree node. #class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: ans=float('-inf') def maxPathSum(self, root: TreeNode) -> int: def seek(node): if not node: return 0 l=seek(node.left) r=seek(node.right) self.ans=max(self.ans,max(l,0)+max(r,0)+node.val) return max(l,r,0)+node.val seek(root) return self.ans