**企业内部部门的最大层级**
2026 华为OD机试真题 5月30日华为OD上机新系统考试真题 100 分题型
点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解
题目描述
企业的组织架构以树形结构表示,每个节点包含:
left: 左子部门(第一个子部门)
right: 右子部门(第二个子部门)
为了优化管理结构,实现扁平化管理,需要计算企业的最大管理层级深度。 请计算企业的部门层级的最大深度。
注意
1、一个部门最多能有 2 个直属的子部门(二叉树);
2、输入由数字和特殊符号#组成的序列,总结点数不超过 1024 个。数字表示该位置有子部门,#表示该位置无子部门(即无此节点)。
2026 华为OD机试真题 5月30日华为OD上机新系统考试真题 100 分题型
点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解
输入描述
输入由数字和特殊符号#组成的序列
输出描述
最大层级深度
示例1
输入
1,#,2,#,3,#,4,#,5
输出
5
说明
单链结构,深度为5
示例2
输入
1,2,3,4,5,6,7,8,9
输出
4
说明
完全二叉树,深度为4
示例3
输入
1,2,#
输出
2
说明
简单二叉树,深度为2
解题思路
本题是一个层序遍历 (BFS) 问题,将数组视为二叉树的层序遍历序列。
关键概念:
- 输入是二叉树的层序遍历序列
- "#" 表示该位置没有节点
- 需要计算从根到最深叶节点的层数
算法步骤
- 初始化:将根节点深度(1)加入队列
- 层序遍历:
- 弹出队首节点
- 检查左子节点:若存在,加入队列,更新最大深度
- 检查右子节点:若存在,加入队列,更新最大深度
- 返回结果:队列为空时返回最大深度
复杂度分析
- 时间复杂度: O(n),遍历所有节点
- 空间复杂度: O(n),队列存
版权声明:
作者:魔改工程师
链接:https://www.sylblog.xin/archives/481
文章版权归作者所有,未经允许请勿转载。
THE END