力扣-124-二叉树中的最大路径和

2021/5/12 10:31:14

本文主要是介绍力扣-124-二叉树中的最大路径和,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

public class Leetcode124 {
    int res = Integer.MIN_VALUE;

    public int maxPathSum(TreeNode root) {
        dfs(root);
        return res;
    }

    public int dfs(TreeNode node) {
        if (node == null) return 0;

        // 递归计算左右节点的最大贡献值,如果为父,就不计算到以当前节点为根节点的最大路径中
        int leftNodeSum = Math.max(dfs(node.left),0);
        int rightNodeSum = Math.max(dfs(node.right),0);

        //更新答案
        int temp = node.val + leftNodeSum + rightNodeSum;
        res = Math.max(res, temp);

        return node.val + Math.max(leftNodeSum, rightNodeSum);
    }
}

 



这篇关于力扣-124-二叉树中的最大路径和的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程