目录
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,过左子结点的最大路