Java 遍历组织树并统计特定类型节点数量
Java 遍历组织树并统计特定类型节点数量
本文将介绍如何使用 Java 语言遍历组织树结构,并根据指定类型统计每个节点出现的次数。
思路
- 定义一个递归函数,遍历组织树,计算每个节点出现的次数。
- 在递归函数中,判断当前节点的类型是否符合要求,如果符合,将该节点的出现次数加一。
- 遍历当前节点的子节点,并递归调用函数,计算每个子节点出现的次数。
- 最后返回当前节点的出现次数。
代码实现
public int countNodes(TreeNode root, String type) {
if (root == null) {
return 0;
}
int count = 0;
if (root.getType().equals(type)) {
count++;
}
for (TreeNode node : root.getChildren()) {
count += countNodes(node, type);
}
return count;
}
其中,TreeNode 表示组织树中的一个节点,包含节点类型和子节点列表。root 参数表示根节点,type 参数表示要计算出现次数的节点类型。
示例
假设组织树如下所示:
A
/ \
B C
/ \ / \
D E F G
节点类型分别为 A、B、C、D、E、F、G,计算节点类型为 'B' 出现的次数,调用 countNodes(root, 'B') 方法,得到结果为 1。
原文地址: https://www.cveoy.top/t/topic/nl5M 著作权归作者所有。请勿转载和采集!