124 二叉樹中的最大路徑和

2021-09-26 20:41:54 字數 690 閱讀 6280

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

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

示例 1:

輸入: [1,2,3]

1

/ \2 3

輸出: 6

class solution(object):

def maxpathsum(self, root):

#需要乙個函式去求單支路上的最大值

self.res = float('-inf') #記錄最大路徑和

self.max1(root) #在求單支路最大值的過程中記錄最大路徑和

return self.res

def max1(self, root):

if not root:

return 0

left = max(self.max1(root.left), 0)#左支路最大路徑

right = max(self.max1(root.right), 0)#右支路

self.res = max(self.res, root.val+left+right)

tmp = max(left, right) + root.val

return tmp if tmp>0 else 0

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