参考答案:
可以使用递归的方式遍历树,并计算每层节点的数量
1function getNodeCountAtLevel(tree, level) { 2 // 递归终止条件:当当前节点为null时,返回0 3 if (!tree) { 4 return 0; 5 } 6 7 // 当层数为0时,表示找到目标层级,返回1 8 if (level === 0) { 9 return 1; 10 } 11 12 let count = 0; 13 14 // 遍历当前节点的所有子节点,并累加每个子节点的指定层级节点数量 15 for (const child of tree.children) { 16 count += getNodeCountAtLevel(child, level - 1); 17 } 18 19 return count; 20}
上述代码中,tree
表示多叉树的根节点,每个节点都包含一个 children
数组,存储了其所有子节点。level
表示目标层级,从0开始。
最近更新时间:2023-07-08