参考答案
可以使用递归的方式遍历树,并计算每层节点的数量
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开始。
正文结束
Ctrl + Enter