mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
44 lines
1.3 KiB
Markdown
44 lines
1.3 KiB
Markdown
欢迎各位勇者来到力扣城,本次试炼主题为「力扣泡泡龙」。
|
||
|
||
游戏初始状态的泡泡形如二叉树 `root`,每个节点值对应了该泡泡的分值。勇者最多可以击破一个节点泡泡,要求满足:
|
||
- 被击破的节点泡泡 **至多** 只有一个子节点泡泡
|
||
- 当被击破的节点泡泡有子节点泡泡时,则子节点泡泡将取代被击破泡泡的位置
|
||
> 注:即整棵子树泡泡上移
|
||
|
||
请问在击破一个节点泡泡操作或无击破操作后,二叉泡泡树的最大「层和」是多少。
|
||
|
||
**注意:**
|
||
- 「层和」为同一高度的所有节点的分值之和
|
||
|
||
**示例 1:**
|
||
> 输入:`root = [6,0,3,null,8]`
|
||
>
|
||
> 输出:`11`
|
||
>
|
||
> 解释:勇者的最佳方案如图所示
|
||
>![image.png](https://pic.leetcode-cn.com/1648180809-XSWPLu-image.png){:height="100px"}
|
||
|
||
|
||
|
||
**示例 2:**
|
||
> 输入:`root = [5,6,2,4,null,null,1,3,5]`
|
||
>
|
||
> 输出:`9`
|
||
>
|
||
> 解释:勇者击破 6 节点,此时「层和」最大为 3+5+1 = 9
|
||
>![image.png](https://pic.leetcode-cn.com/1648180769-TLpYop-image.png){:height="200px"}
|
||
|
||
|
||
|
||
**示例 3:**
|
||
> 输入:`root = [-5,1,7]`
|
||
>
|
||
> 输出:`8`
|
||
>
|
||
> 解释:勇者不击破节点,「层和」最大为 1+7 = 8
|
||
|
||
|
||
**提示**:
|
||
- `2 <= 树中节点个数 <= 10^5`
|
||
- `-10000 <= 树中节点的值 <= 10000`
|