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

2021-10-04 02:11:10 字數 944 閱讀 9234

題目:

給定乙個非空二叉樹,返回其最大路徑和。

本題中,路徑被定義為一條從樹中任意節點出發,達到任意節點的序列。該路徑至少包含乙個節點,且不一定經過根節點。

例子

示例 1:

輸入: [1,2,3]

1

/ \2 3

輸出: 6

示例 2:

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

-10

/ \9 20

/ \

15 7

輸出: 42

題目分析

對於某一結點

向前走 ⇒ 左結點 / 右結點

路徑和 = 當前結點值 + 剩餘路徑(以左節點/右節點為起點)的結點值和 ⇒ 遞迴

解題思路 變數

作用find()

尋找路徑和

過程

把二叉樹根結點放入佇列 s

對於某一節點 ⇒ 尋找向左走(以左節點為起點)的路徑和+向右走(以右節點為起點)的路徑和

判斷是否更新路徑最大值

將左右結點加入佇列 s 重複2,3

int find(treenode*root)                                      //尋找 root 為起點的最大路徑結點和

class solution };

while(!s.empty())

return max0;

}};

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