Leetcode Binary Tree Maximum Path Sum
来源:互联网 发布:iphone蜂窝数据用户名 编辑:程序博客网 时间:2024/06/06 09:25
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 does not need to go through the root.
For example:
Given the below binary tree,
1 / \ 2 3
Return 6
.
Difficulty: Hard
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { int ans = Integer.MIN_VALUE; public int helper(TreeNode root){ ans = Math.max(ans, root.val); if(root.left == null && root.right == null){ return root.val; } else if(root.left == null){ int right = helper(root.right); ans = Math.max(ans, right); if(right < 0) return root.val; return right + root.val; } else if(root.right == null){ int left = helper(root.left); ans = Math.max(ans, left); if(left < 0) return root.val; return left + root.val; } else{ int right = helper(root.right); int left = helper(root.left); ans = Math.max(ans, right); ans = Math.max(ans, left); if(right < 0 && left < 0){ return root.val; } else if(right < 0){ ans = Math.max(ans, left + root.val); return left + root.val; } else if(left < 0){ ans = Math.max(ans, right + root.val); return right + root.val; } else{ ans = Math.max(ans, right + root.val + left); return Math.max(root.val + left, root.val + right); } } } public int maxPathSum(TreeNode root) { if(root == null) return 0; return Math.max(helper(root), ans); }}
0 0
- *****(leetcode) Binary Tree Maximum Path Sum (tree)
- 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
- 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
- LeetCode 124: Binary Tree Maximum Path Sum
- 【Leetcode】Binary Tree Maximum Path Sum
- LeetCode | Binary Tree Maximum Path Sum
- Leetcode Path Sum
- Leetcode Remove Duplicates from Sorted List
- Reorder List
- 重建控制文件后,各文件(datafile、control file、redo log)中scn的关系
- Leetcode Odd Even Linked List
- Leetcode Binary Tree Maximum Path Sum
- IOS控件总是看不见。
- Leetcode Maximal Rectangle
- Leetcode 3Sum Closest
- Leetcode Populating Next Right Pointers in Each Node
- Leetcode Length of Last Word
- Leetcode Multiply Strings
- 关于使用开源库或jar包时可能遇到ndk冲突错误
- 最小点割集