【Leetcode】Binary Tree Maximum Path (Sum)
2014-10-31 11:19
330 查看
Given a binary tree, find the maximum path sum.
The path may start and end at any node in the tree.
For example:
Given the below binary tree,
Return
一个和为最大的路径一定是自己的值+左子树的返回值(如果大于0)+右子树的返回值。(如果大于0)
而返回值则是(自己的值+左子树的返回值)或者(自己的值+右子树的返回值)
如果左右子树都大于0,取最大一边即可
如果左右子树都小于0,取0
如果左右子树有一个大于0,取大于0的一边
Math.max(Math.max(left,0), Math.max(right,0))
The path may start and end at any node in the tree.
For example:
Given the below binary tree,
1 / \ 2 3
Return
6.
一个和为最大的路径一定是自己的值+左子树的返回值(如果大于0)+右子树的返回值。(如果大于0)
而返回值则是(自己的值+左子树的返回值)或者(自己的值+右子树的返回值)
如果左右子树都大于0,取最大一边即可
如果左右子树都小于0,取0
如果左右子树有一个大于0,取大于0的一边
Math.max(Math.max(left,0), Math.max(right,0))
public int maxPathSum(TreeNode root) { if(root==null) return 0; ArrayList<Integer> result = new ArrayList<Integer>(); result.add(Integer.MIN_VALUE); helper(root, result); return result.get(0); } public int helper(TreeNode root, ArrayList<Integer> result) { if(root==null) return 0; int left=helper(root.left, result); int right=helper(root.right, result); int cur=root.val+(left>0?left:0)+(right>0?right:0); if(cur>result.get(0)) result.set(0, cur); return root.val+Math.max(Math.max(left, 0), Math.max(right, 0)); }
相关文章推荐
- leetcode:Binary Tree Maximum Path Sum
- LeetCode 124 Binary Tree Maximum Path Sum
- LeetCode-Binary Tree Maximum Path Sum
- LeetCode: Binary Tree Maximum Path Sum
- LeetCode Binary Tree Maximum Path Sum
- LeetCode 124:Binary Tree Maximum Path Sum
- LeetCode-Binary Tree Maximum Path Sum
- [leetcode]Binary Tree Maximum Path Sum
- [LeetCode]Binary Tree Maximum Path Sum
- leetcode binary tree maximum path sum
- leetcode Binary Tree Maximum Path Sum 迭代算法
- 【LeetCode】Binary Tree Maximum Path Sum 解题报告
- [Leetcode] Binary Tree Maximum Path Sum (Java)
- LeetCode | Binary Tree Maximum Path Sum
- leetcode - Binary Tree Maximum Path Sum
- leetcode--Binary Tree Maximum Path Sum
- [LeetCode]Binary Tree Maximum Path Sum
- 【Leetcode-Hard-124】Binary Tree Maximum Path Sum
- leetcode: Binary Tree Maximum Path Sum
- [LeetCode] Binary Tree Maximum Path Sum