【发布时间】:2016-10-07 00:07:20
【问题描述】:
你如何计算分支的数量,在这种情况下,分支是偶数。这是我到目前为止所拥有的。它似乎适用于几种情况。
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;
}
}
【问题讨论】:
-
题主“打印分支”没看懂?一定要“数数”吗?
-
“它似乎适用于几种情况。”那么哪些情况,我假设你已经找到了一个不适用的情况,就是那个?
-
提示:这是学习单元测试的好机会。即使您不使用 JUnit,您可能仍然值得考虑编写一小段测试代码。您知道:就像生成具有已知布局的专用树,然后在其上运行您的代码并检查返回的数字。从小例子开始,当出现问题时,您可以在调试器中运行该测试。这就是你系统地解决这些问题的方法。此外:请查看帮助中心以了解您问题中的“缺失部分”。
标签: java recursion data-structures binary-tree