可以使用递归的方式遍历树,并计算每层节点的数量
function getNodeCountAtLevel(tree, level) {
// 递归终止条件:当当前节点为null时,返回0
if (!tree) {
return 0;
}
// 当层数为0时,表示找到目标层级,返回1
if (level === 0) {
return 1;
}
let count = 0;
// 遍历当前节点的所有子节点,并累加每个子节点的指定层级节点数量
for (const child of tree.children) {
count += getNodeCountAtLevel(child, level - 1);
}
return count;
}
上述代码中,tree
表示多叉树的根节点,每个节点都包含一个 children
数组,存储了其所有子节点。level
表示目标层级,从0开始。