**企业内部部门的最大层级**

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. 输入是二叉树的层序遍历序列
  2. "#" 表示该位置没有节点
  3. 需要计算从根到最深叶节点的层数

算法步骤

  1. 初始化:将根节点深度(1)加入队列
  2. 层序遍历
    • 弹出队首节点
    • 检查左子节点:若存在,加入队列,更新最大深度
    • 检查右子节点:若存在,加入队列,更新最大深度
  3. 返回结果:队列为空时返回最大深度

复杂度分析

  • 时间复杂度: O(n),遍历所有节点
  • 空间复杂度: O(n),队列存
THE END