leetcode124 二叉树的最大路径和 题目详情 Java代码 public class Solution { private static int max = Integer.MIN_VALUE; public int maxPathSum(TreeNode root){ helper(root); return max; } /*** * 返回包含根节点和其中一个子树的和的最大值 * @param root * @return */ private int helper(TreeNode root){ if(root == null) return 0; int left = Math.max(helper(root.left), 0); int right = Math.max(helper(root.right), 0); max = Math.max(max, left + right + root.val); int m = Math.max(left, right); if(m < 0) return root.val; else return root.val + m; } class TreeNode{ int val; TreeNode left; TreeNode right; TreeNode(int val){ this.val = val; } } }