124 二叉樹中的最大路徑和

2021-10-09 16:50:31 字數 417 閱讀 7162

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

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

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

基本思路:肯定存在某乙個節點為父節點的子樹可以獲得最大路徑和(不一定要到葉節點),則val=max(0,leftmax)+root->val+max(0,rightmax),其中,max(0,x)相當於做了一次剪枝操作。由此,dfs的基本思路就有了。

int maxpathsum(treenode* root) 

int dfs(treenode *root,int &maxsum)

疑問,可不可以從下往上,更新節點,使其每乙個節點都有對應的當前子樹的最大路徑和

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 沒看題解獨自...