*LeetCode-Binary Tree Maximum Path Sum

来源:互联网 发布:淘宝店技巧 编辑:程序博客网 时间:2024/06/10 01:38

写一个helper计算从这个点向下能到达的最大sum 然后每次更新全局最大sum 记得每次left 和 right 是要和0比较 因为可以不向下走 最下也是0

public class Solution {    int max = Integer.MIN_VALUE;    public int maxPathSum(TreeNode root) {        maxDown ( root );        return max;    }    public int maxDown ( TreeNode node ){        if ( node == null )            return 0;        int left = Math.max( 0, maxDown ( node.left ) );        int right = Math.max ( 0, maxDown ( node.right ));        max = Math.max ( max, left + right + node.val );        return Math.max (left, right) + node.val;    }}


0 0
原创粉丝点击