我正在尝试创建一个函数来计算从根节点到指定级别树的叶子。深入计算二叉树离开
意思我有一个功能leafcount(BTNode节点,INT水平)
甲调用此函数leafCount(根,2)的树结构如下面应产生1即,它计算在水平叶节点乙2根。它忽略了其他叶C作为它不是2的水平,但1级
root
/ \
A C
/
B
我试图实现使用递归
int leafCount(BTNode node, int level){
if(node == null){
return 0;
}
if(level == 0 && (node.left == null && node.right == null)){
return 1;
}
else{
return leafCount(node.left,level--) + leafCount(node.right,level--);
}
虽然它不起作用以下。我究竟做错了什么?
你有两个调用level--。最好有一个级别 - 在递归调用之前,发送级别到递归调用。 – Tushar
非常感谢你! – user3476229