原題目
給定乙個非空二叉樹,返回其最大路徑和。本題中,路徑被定義為一條從樹中任意節點出發,達到任意節點的序列。該路徑至少包含乙個節點,且不一定經過根節點。
示例 1:
輸入: [1,2,3]
輸出: 6
1
/ \2 3
示例 2:輸入: [-10,9,20,null,null,15,7]
輸出: 42
-10
/ \9 20
/ \
15 7
題目分析
方法一:每個節點的路徑有三條,一是只走其左節點,二是只走其有右節點,三是兩個節點都走,利用後序遍歷,從葉子節點開始計算每個路徑的和,如果出現和小於零的情況說明這條路徑無用,直接賦值為0,用最大路徑和第三路徑比較,儲存最大值,然後返回當前節點加上左右路徑最大的乙個值。
完整**
int maxsum;
intsearch
(struct treenode* root)
intmaxpathsum
(struct 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.該節點 左子樹路徑 ...