解题思路
本题给出的序列是二叉树的层序遍历表示,其中:
- 数字表示该位置存在部门节点;
# 表示该位置没有部门节点;
- 每个存在的节点最多有两个子节点。
由于题目只要求最大深度,不需要真正构建二叉树,可以直接使用 BFS(广度优先搜索)+ 队列 处理层序序列。
P14389.企业内部部门的最大层级(100分)
题目内容
企业的组织架构以树形结构表示,每个节点包含:
left: 左子部门(第一个子部门)
right: 右子部门(第二个子部门)
为了优化管理结构,实现扁平化管理,需要计算企业的最大管理层级深度。
请计算企业的部门层级的最大深度。
注意
1、一个部门最多能有 2 个直属的子部门(二叉树);
2、输入由数字和特殊符号#组成的序列,总结点数不超过 1024 个;数字表示该位置有子部门,#表示该位置无子部门(即无此节点)。
样例1
输入
["1","#","2","#","3","#","4","#","5"]
输出
5
样例2
输入
["1","2","3","4","5","6","7","8","9"]
输出
4
说明

样例3
输入
["1","2","#"]
输出
2