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

2021-10-19 18:38:14 字數 884 閱讀 8083

路徑 被定義為一條從樹中任意節點出發,沿父節點-子節點連線,達到任意節點的序列。同乙個節點在一條路徑序列中 至多出現一次 。該路徑 至少包含乙個 節點,且不一定經過根節點。

路徑和 是路徑中各節點值的總和。

給你乙個二叉樹的根節點 root ,返回其 最大路徑和 。

示例1:

輸入:root = [1,2,3]

輸出:6

解釋:最優路徑是 2 -> 1 -> 3 ,路徑和為 2 + 1 + 3 = 6

示例2:

輸入:root = [-10,9,20,null,null,15,7]

輸出:42

解釋:最優路徑是 15 -> 20 -> 7 ,路徑和為 15 + 20 + 7 = 42

對於每乙個節點,若最終的最大路徑中包括了該節點,那麼只能是:

如果某節點的左子樹或右子樹最大路徑為負值,則代表此子樹的最大值的變數maxl或maxr的值設為為0,表示不包含此子樹的路徑;如果為正則設為此值。

如果屬於情況2,則使用maxval記錄最大值,最終返回;如果屬於情況1,則最終返回左右子樹中較大的路徑值+此節點的值。

class

solution

intmaxpathsum

(treenode* root)

};

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.該節點 左子樹路徑 ...