1. 程式人生 > >leetcode124. Binary Tree Maximum Path Sum

leetcode124. Binary Tree Maximum Path Sum

class Solution:
    def __init__(self):
        self.res = -sys.maxsize
    # 主體就是後序遍歷
    def maxPathSum(self, root):
        if root is None:
            return 0
        self.helper(root)
        return self.res              # 結果在這個類成員變數裡面

    def helper(self, root):
        if root is None:
            return 0
        left = max(0, self.helper(root.left))
        right = max(0, self.helper(root.right))
        self.res = max(self.res, left + right + root.val)   # 在此處進行處理, 由於要儲存在一個變數裡, 定義了init函式

        return max(left, right) + root.val