博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]题解(python):124-Binary Tree Maximum Path Sum
阅读量:7093 次
发布时间:2019-06-28

本文共 1159 字,大约阅读时间需要 3 分钟。

题目来源:

  https://leetcode.com/problems/binary-tree-maximum-path-sum/


 

题意分析:

  给定一棵树,找出一个数值最大的路径,起点可以是任意节点或者叶子。


 

题目思路:

  我们可以先找路径的最大mr,ml,那么最大值是max(solve(root),solve(left),solve(right), max(mr + root.val + ml, root.val))。


 

代码(python):

  

 

# Definition for a binary tree node.# class TreeNode(object):#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution(object):    def maxPathSum(self, root):        """        :type root: TreeNode        :rtype: int        """        if root == None:            return 0        Solution.maxsum = root.val        def solve(root):            if root == None:                return 0            sum,l,r = root.val,0,0            if root.left:                l = solve(root.left)                if l > 0: sum += l            if root.right:                r = solve(root.right)                if r > 0: sum += r            Solution.maxsum = max(Solution.maxsum,sum)            #print(Solution.maxsum)            return max(root.val,max(root.val + l,root.val+r))        solve(root)        return Solution.maxsum
View Code

 

 

转载于:https://www.cnblogs.com/chruny/p/5306285.html

你可能感兴趣的文章
了解Python
查看>>
Java遇见HTML——JSP篇之JSP基础语法
查看>>
a common method to rotate the image
查看>>
测试计划
查看>>
深拷贝与浅拷贝
查看>>
textarea禁止拖动 滚动条隐藏
查看>>
Java下利用Jackson进行JSON解析和序列化
查看>>
Js用正则表达式验证字符串
查看>>
大疆农业专家在线空开课直播课件知识
查看>>
怎样快速搜索自己所需的资料?(90%的人不会使用此方法)[转]
查看>>
POJ_2411_Mondriaan's Dream_状态压缩dp
查看>>
694. Number of Distinct Islands - Medium
查看>>
vue打包后出现的.map文件
查看>>
前端应用框架(三)
查看>>
多线程的死锁
查看>>
定时任务框架Quartz-(一)Quartz入门与Demo搭建
查看>>
css导航栏
查看>>
洛谷3195(HNOI2008)玩具装箱
查看>>
智能公交报站系统RFID解决方案
查看>>
计算最长英语单词链(单词接龙)
查看>>