美文网首页
Leetcode 124 二叉树中的最大路径和

Leetcode 124 二叉树中的最大路径和

作者: 泡泡爱上巧克力_7122 | 来源:发表于2018-07-24 13:58 被阅读0次

    给定一个非空二叉树,返回其最大路径和。

    本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。

    示例 1:


    一开始我是这样的思路,从左右子树中获取最大的路径和的值,返回给left,right,然后从left,right,left+right+val,val中取最大值,但是这样会有一个问题,在只有2个节点的树中若值都为负数,那么由于有一个空树,返回的最大值是0会导致最后的结果出错。

    看了一些网上的解答,思路都和我差不多,都有共同的错误。查看一些优秀的解答

    他是这样的思路:

    在递归函数中,如果当前结点不存在,那么直接返回0。否则就分别对其左右子节点调用递归函数,由于路径和有可能为负数,而我们当然不希望加上负的路径和,所以我们和0相比,取较大的那个,就是要么不加,加就要加正数。然后我们来更新全局最大值结果res,就是以左子结点为终点的最大path之和加上以右子结点为终点的最大path之和,还要加上当前结点值,这样就组成了一个条完整的路径。

    [LeetCode] Binary Tree Maximum Path Sum 求二叉树的最大路径和 - Grandyang - 博客园

    修改我们的程序:

    相关文章

      网友评论

          本文标题:Leetcode 124 二叉树中的最大路径和

          本文链接:https://www.haomeiwen.com/subject/jhwemftx.html