【发布时间】:2019-05-12 11:22:44
【问题描述】:
我编写了以下代码来查找二叉树中叶节点的数量。我在 GeeksForGeeks 上提交了它,它给出的结果是正确的答案,但我不确定他们是否检查过大量的测试用例。请告诉我这是否是正确的解决方案?
int sum=0;
int countLeaves(Node node)
{
// Your code
if(node==null)
return sum;
if(node.left!=null || node.right!=null)
{
sum=countLeaves(node.left);
sum=countLeaves(node.right);
}
else
{
sum++;
}
return sum;
}
【问题讨论】:
-
我认为您应该将
||替换为&&。 -
@Manhar 与
||的比较是正确的。使用&&,您可以避免只计算其中一条路径的分支... -
@Charliemops,是的。同意:)
标签: java recursion binary-tree