LeetCode笔记

二叉树中的最大路径和

2018-03-20  本文已影响9人  只为此心无垠
def getMaxPathSum(self, root):
        if root == None:
            return -sys.maxint,0
        
        leftMax, leftRootMax = self.getMaxPathSum(root.left)
        rightMax, rightRootMax = self.getMaxPathSum(root.right)
        #计算最大值
        pathMax = max(leftMax, rightMax, leftRootMax + rightRootMax + root.val)
        rootMax = max(rightRootMax + root.val, leftRootMax + root.val,0)
        
        return pathMax, rootMax
    def maxPathSum(self, root):
        # write your code here
        maxsum,_ = self.getMaxPathSum(root)
        return maxsum
上一篇 下一篇

猜你喜欢

热点阅读