Skip to content

多叉树指定层节点的个数

Posted on:2023年7月8日 at 15:41

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

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

原文转自:https://fe.ecool.fun/topic/beeaa808-12ab-4dda-b270-219aacfb3633