目录
1 题目描述
给定一个非空二叉树,返回其最大路径和。
本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。
示例 1:
输入: [1,2,3]
1
/ \
2 3
输出: 6
示例 2:
输入: [-10,9,20,null,null,15,7] -10 / \ 9 20 / \ 15 7 输出: 42
2 题目分析
先来看看题目,这里所求的最大路径的起点和终点并非是根结点和叶子节点,而是二叉树中任意两个节点的,那么我们来分析一下,经过任一结点的路径和可能有哪些情况呢?
①该结点本身;
②过该结点左子结点的最大路径和加上该结点;
③过该结点右子结点的最大路径和加上该结点;
④过该结点左子结点的最大路径和以及过该结点右子结点的最大路径和再加上该结点。即是横跨该结点的左右子树。
因此,假设该结点值为val,过左子结点的最大路径

本文介绍了如何求解二叉树的最大路径和问题。通过对题目进行分析,提出通过递归计算每个节点的最大路径和,其中需要排除横跨子树的情况。在代码实现部分,展示了如何利用深度优先搜索策略来解决这个问题。
最低0.47元/天 解锁文章
4572

被折叠的 条评论
为什么被折叠?



