java打印在二叉树上分支
如何计算分支数,在本例中,分支数为偶数整数。这是我到目前为止所拥有的。它似乎适用于几个案例
public int evenBranches() {
return evenBranches(overallRoot);
}
private int evenBranches(IntTreeNode root) {
if (root == null) {
return 0;
}
int val = 0;
if (root.left != null) {
val += evenBranches(root.left);
} else if (root.right != null) {
val += evenBranches(root.right);
}
if (root.data % 2 == 0) {
return val + 1;
} else {
return val;
}
}
# 1 楼答案
您可以如下修改evenBranchs()方法:我认为它将覆盖所有边缘情况,如果剩下任何测试情况,请告诉我,我会修复它
# 2 楼答案
通过使用全局变量,并在树上应用BFS(广度优先搜索),可以很好地获得所需的结果,方法如下:
# 3 楼答案
检查右分支中的引用时,可能需要删除else条件。否则它只会检查一侧。例如: