我的代码的问题是它正在计算叶节点,但我不认为我知道当 root.left 和 root.right 为空时我需要停止但不太确定如何将其转换为代码。
这是我的代码:
public int countEvenBranches() {
return countEvenBranches(overallRoot);
}
private int countEvenBranches(IntTreeNode root) {
if (root == null) {
return 0;
} else if (root.data % 2 == 1 ){
return countEvenBranches(root.left) + countEvenBranches(root.right);
} else {
return 1 + countEvenBranches(root.left) + countEvenBranches(root.right);
}
}