这是我能想到的最好的办法,但它仍然不起作用,因为即使有多个节点有两个子节点,它也会返回 1。
int countTwoChildren(Node node)
{
if(node==null) {
return 0;
}
if(node.left!=null && node.right!=null) {
return 1;
}
return countTwoChildren(node.left) + countTwoChildren(node.right);
}
谁能发现上面这段代码有什么错误吗?
最佳答案
缺少一件小事:
int countTwoChildren(Node node)
{
if(node==null) {
return 0;
}
if(node.left!=null && node.right!=null) {
return 1 + countTwoChildren(node.left) + countTwoChildren(node.right);
}
return countTwoChildren(node.left) + countTwoChildren(node.right);
}
关于java - 一种计算二叉搜索树中具有 2 个子节点的节点数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10756403/