给定二叉树,我们如何在特定级别找到叶节点的数量,考虑根的级别为1,依此类推。
答案 0 :(得分:0)
您可以简单地使用BFS或DFS算法。类似的东西(伪代码):
Node_counter(root,N):
1.如果root为null或N <1则返回0
2.如果N == 1
2.1如果root是leaf return 1
2.2否则返回0
3.否则返回Node_counter(root-&gt; left,N-1)+ Node_counter(root-&gt; right,N-1)
复杂性是O(N)
答案 1 :(得分:0)
private int noOfleafLevel(Node root, int leaflevel) {
if(root==null)
return 0;
if(root.left==null&&root.right==null&&leaflevel==1)
return 1;
else
return noOfleafLevel(root.left, leaflevel - 1)+noOfleafLevel(root.right, leaflevel - 1);
}
这是使用级别顺序遍历将Leaf提升到特定级别的代码。