#P4067. 二叉树中的最大路径和

二叉树中的最大路径和

题目内容

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

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

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

输入描述

一行包含二叉树的序列化数组,节点值之间用空格隔开,空节点用null表示。

输出描述

一个整数,表示最大路径和。

样例1

img

输入

1 2 3

输出

说明

最优路径是2>1>3 2 -> 1 -> 3 ,路径和为 2+1+3=62 + 1 + 3 = 6

样例2

img

输入

-10 9 20 null null 15 7

输出

42

说明

最优路径是15>20>7 15 -> 20 -> 7 ,路径和为 15+20+7=4215 + 20 + 7 = 42

提示

  • 树中节点数目范围是 [1,3104][1, 3 * 10^4]
  • 1000<=Node.val<=1000-1000 <= Node.val <= 1000