leetcode124 二叉樹中的最大路徑和

2021-09-25 03:59:15 字數 852 閱讀 7727

#遞迴思路:記錄左子樹和右子樹中路徑更大的那個,並向父節點提供當前節點和子樹組成的最大值

def helper(self, root):

#遞迴終止條件

if not root:

return 0

#每一步要做什麼:記錄最大值,當前節點最大值 = root.val + left + right

left = max(0, self.helper(root.left)) #若是小於0,則置為0

right = max(0, self.helper(root.right))

self.res = max(self.res, root.val + left + right)

#返回值:此節點與左右子樹最大值之和

return max(root.val,root.val + max(right,left))

LeetCode 124 二叉樹中的最大路徑和

給定乙個非空二叉樹,返回其最大路徑和。本題中,路徑被定義為一條從樹中任意節點出發,達到任意節點的序列。該路徑至少包含乙個節點,且不一定經過根節點。示例 1 輸入 1,2,3 1 2 3 輸出 6示例 2 輸入 10,9,20,null,null,15,7 10 9 20 15 7 輸出 42本題與 ...

Leetcode 124 二叉樹中的最大路徑和

題目 給定乙個非空二叉樹,返回其最大路徑和。本題中,路徑被定義為一條從樹中任意節點出發,達到任意節點的序列。該路徑至少包含乙個節點,且不一定經過根節點。示例 1 輸入 1,2,3 1 2 3輸出 6 示例 2 輸入 10,9,20,null,null,15,7 10 9 20 15 7 輸出 42 ...

leetcode124 二叉樹中的最大路徑和

參考 思路參考 參考 class solution return the max value ended at root node inthelp treenode root 分析1給定乙個非空節點,最終路徑經過這個節點有4種情況 1.只有該節點本身 左右子樹的路徑都是負數 2.該節點 左子樹路徑 ...