小红正在整理一套目录系统。每个目录自身有一个文件大小,并且最多有两个子目录。目录结构用层序遍历数组表示,其中 -1 表示该位置为空目录。 小红希望统计每个非空目录的总大小:一个目录的总大小等于它自身文件大小,加上所有子目录的总大小。空目录仍然用 -1 表示。 给定目录层数 n 和层序数组,请输出统计后的层序数组。最后一层末尾多余的空节点不需要补齐,输出时也不要在行末添加多余空格。
输入包含两行: 第一行为目录的层数 n ,取值范围: 1<=n<=10 第二行为一个基于二叉树层序遍历给出的第 0-(n-1) 层各目录文件的大小一维数组,数组的每个元素 m [i] 为整型,且 -1<=m[i]<=10 。 - -1 表示该节点为空 - 0 表示该节点无文件但可能有子目录 输入示例: ``` 3 1 2 -1 5 3 ```

基于二叉树层序遍历的统计后的每个目录总大小,如果节点为空则用 - 1 表示。第 n-1 层最后一个节点后的空节点应省略,不用输出。输出结果不能以空格结束。 ``` 11 10 -1 5 3 ```

计算逻辑说明: - 节点 5 和节点 3 :因为为无子节点,计算后的大小即为自己的大小; - 节点 2 :存在两个子节点 5 和 3 ,计算后的大小为自己大小 + 子节点大小,即 2+5+3=10 ; - 节点 1 :存在一个子节点 2 ,先由子节点计算新大小,再计算新节点 1 的大小,即 1+10=11 。
3 1 2 -1 5 3
11 10 -1 5 3
考点:广度优先搜索(BFS)
数据规模 n ≤ 10 | 限制 2 秒 / 256MB | 标准输入输出
参考方向:广度优先搜索(BFS)
按层扩散搜索,无权图上第一次到达即最短路。
思路框架(广度优先搜索(BFS) 通法 · 非本题专属)
实现要点:标记访问必须在入队时做,不能在出队时做,否则会重复入队甚至超时。
复杂度:时间 O(V+E) | 空间 O(V)
该范式的通法易错点
对照本题
本题在源数据中没有官方考点标签,方向由题面特征推断,仅供参考。
样例 1
3 / 1 2 -1 5 311 10 -1 5 3解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2026年-华为-04月29号开发岗。