給定一棵非空二叉樹,返回其最大路徑和,路徑為從任意節點出發,到達任意節點的序列,至少包含乙個節點。
本道題中路徑可能彎折,因此首先要簡化,考慮從某個節點往下搜尋,路徑和是多少,在考慮跨越該節點,
最大路徑和是多少。
class solution:
def __init__(self):
self.max_val=-sys.maxsize
def maxpathsum(self, root: treenode) -> int:
self.helper1(root)
return self.max_val
def helper1(self,node):
if node is none:
return -sys.maxsize
path1=self.helper1(node.left)
path2=self.helper1(node.right)
self.max_val=max(self.max_val,node.val,node.val+path1,node.val+path2,node.val+path2+path1)
return max(node.val,node.val+path2,node.val+path1)
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.該節點 左子樹路徑 ...