難度:困難
繼續抄答案嘿嘿
題目描述
解題思路
參考題解:【二叉樹的最大路徑和】主要理解題目意思,詳細**
遞迴,用乙個全域性變數來更新最大的路徑值,同時返回這個以當前節點為根節點能提供的最大路徑值
用這個圖來說明一下:
對於2這個節點來說,選擇1-2-4-8就不能再選擇1-2-5-8
所以遞迴返回時,要從2左邊子樹和右邊子樹所能提供的值裡選擇乙個最大的
但是返回的值只能代表這段路上的最大值,並不代表總體的最大值,用乙個總體變數來記錄整體最大值,max = math.max(max,root.val + left + right)
以乙個簡單的例子來看遞迴過程:
關鍵就是區分:當前節點最大路徑和計算:以當前節點為起點的所有路徑和
124 二叉樹中的最大路徑和
給定乙個非空二叉樹,返回其最大路徑和。本題中,路徑被定義為一條從樹中任意節點出發,達到任意節點的序列。該路徑至少包含乙個節點,且不一定經過根節點。示例 1 輸入 1,2,3 1 2 3 輸出 6示例 2 輸入 10,9,20,null,null,15,7 10 9 20 15 7 輸出 42思路 二...
124 二叉樹中的最大路徑和
給定乙個非空二叉樹,返回其最大路徑和。本題中,路徑被定義為一條從樹中任意節點出發,達到任意節點的序列。該路徑至少包含乙個節點,且不一定經過根節點。示例 1 輸入 1,2,3 1 2 3 輸出 6示例 2 輸入 10,9,20,null,null,15,7 10 9 20 15 7 輸出 42思路 對...
124 二叉樹中的最大路徑和
題目 給定乙個非空二叉樹,返回其最大路徑和。本題中,路徑被定義為一條從樹中任意節點出發,達到任意節點的序列。該路徑至少包含乙個節點,且不一定經過根節點。示例 1 輸入 1,2,3 1 2 3輸出 6 示例 2 輸入 10,9,20,null,null,15,7 10 9 20 15 7 沒看題解獨自...