CodeACM
HOT 100 · 二叉树 · LC 124

二叉树中的最大路径和:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。

路径和 是路径中各节点值的总和。

给你一个二叉树的根节点 root ,返回其 最大路径和 。

输入格式

第一行输入层序序列记号数 n,第二行输入包含整数和 null 的层序序列。

输出格式

输出一个整数,表示二叉树中的最大路径和。

数据范围

  • 1 ≤ 节点数 ≤ 3 × 10⁴
  • −1000 ≤ 节点值 ≤ 1000

公开样例

样例 1

输入

11
3 5 1 6 2 0 8 null null 7 4

输出

26

最优路径为 7→2→5→3→1→8,路径和为 26。

样例 2

输入

7
-10 9 20 null null 15 7

输出

42

最优路径是 15→20→7,路径和为 15 + 20 + 7 = 42。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。