二叉树的最长路径和(Binary Tree Maximum Path Sum)
2017-10-10 17:00
405 查看
题目:
Given a binary tree, find the maximum path sum. For this problem, a path is defined as any sequence of nodes from some starting node to any node in the tree along the parent-child connections. The path must contain at least one node and does not need to go through the rootgoogle 翻译:
给定一个二叉树,找到最大路径和。 对于这个问题,路径被定义为从父子连接到某个起始节点到树中任何节点的任何节点序列。 该路径必须包含至少一个节点,不需要遍历根。
示例:
就是从任意节点开始到任意节点结束所走过的最大距离
思路:最大值的可能情况,虽然题目说不需要遍历根节点,其实是需要根节点的。
把根节点理解成父节点更好一些,因为需要父节点和别的连成一条线。
最大值来自
root+左边的某条路径+右边的某条路径
左边的某条路径 + root
root + 右边的某条路径
root
练习传送门:这里
java实现:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { int max = Integer.MIN_VALUE; public int maxPathSum(TreeNode root) { record(root); return max; } public int record(TreeNode root){ if(root==null) return 0; int l=Math.max(0,record(root.left)); int r=Math.max(0,record(root.right)); max=Math.max(max,root.val+l+r); return root.val+Math.max(l,r); } }
相关文章推荐
- 124 Binary Tree Maximum Path Sum 求二叉树的最大路径和
- [LintCode] Binary Tree Maximum Path Sum (二叉树中的最大路径和)
- [LeetCode] Binary Tree Maximum Path Sum 求二叉树的最大路径和
- lintcode binary-tree-maximum-path-sum 二叉树中的最大路径和
- 求二叉树最大路径和(Binary Tree Maximum Path Sum)
- LeetCode(Binary Tree Maximum Path Sum) 在二叉树中找出一条和最大的路径
- [LeetCode 124] - 二叉树最大路径和(Binary Tree Maximum Path Sum)
- Binary Tree Maximum Path Sum (二叉树路径和的最大值) 【leetcode】
- LeetCode OJ:Binary Tree Maximum Path Sum(二叉树最大路径和)
- [Leetcode] Binary tree maximum path sum求二叉树最大路径和
- binary-tree-maximum-path-sum——二叉树任意一条路径上的最大值
- 二叉树最大路径和-Binary Tree Maximum Path Sum
- Binary Tree Maximum Path Sum 二叉树中任意路径的最大和
- Binary Tree Maximum Path Sum 求二叉树的最大路径和
- 【二叉树的递归】05二叉树中找任意起点和终点使他们的路径和最大【Binary Tree Maximum Path Sum】
- JavaShowAlgorithm-Binary Tree Maximum Path Sum 二叉树最大路径和
- Leetcode 124 Binary Tree Maximum Path Sum 二叉树最大路径和
- LeetCode-Binary Tree Maximum Path Sum-二叉树最大路径和-DFS
- binary-tree-maximum-path-sum(二叉树的最大路径和)
- LeetCode(124) Binary Tree Maximum Path Sum 二叉树的最大路径和 (如何递归?)