Skip to content

多叉树指定层节点的个数

可以使用递归的方式遍历树,并计算每层节点的数量

javascript
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开始。