小红用一棵二叉树管理镜像层。节点给出的数值是该层相对父层的容量变化;一个节点的完整容量等于根到该节点路径上所有节点值之和。 若某节点的完整容量小于等于 0 ,该节点及其整棵子树都要被剪枝。请计算剪枝后所有节点完整容量的平均值并向下取整;若没有剩余节点,输出 0 。 输入给出二叉树的前序和中序遍历,各节点值互不相同,因此树结构唯一。
第一行输入前序遍历,第二行输入中序遍历,同行整数以空格分隔。 保证两行长度相同,节点数不超过 1000 ,节点值在 [-10000,10000] 内且互不相同。
输出剪枝后完整容量的平均值向下取整结果;空树输出 0 。
8 2 -3 9 5 2 8 9 -3 5
9
1 2 3 -5 5 6 2 1 3 5 -5 6
2
考点:树
限制 1 秒 / 256MB | 标准输入输出
参考方向:树
树结构上的遍历(DFS 求子树信息 / BFS 求层序),多数树题是「后序遍历 + 回溯」。
思路框架(树 通法 · 非本题专属)
实现要点:递归深度可能到 1e5,注意递归爆栈;必要时改迭代或调整递归深度。
复杂度:时间 O(n) | 空间 O(n)
该范式的通法易错点
本题在源数据中没有官方考点标签,方向由题面特征推断,仅供参考。
样例 1:输入 8 2 -3 9 5 / 2 8 9 -3 5 → 输出 9
五个节点完整容量之和为 47,平均值 9.4 向下取整为 9。
样例 2:输入 1 2 3 -5 5 6 / 2 1 3 5 -5 6 → 输出 2
完整容量非正的 -5 节点及其子树被剪枝,剩余容量为 1、3、4。
解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2026年-华为-06月12号开发岗。