我正在尝试学习有关递归方法的知识,并且正在为我的二叉树编写一个方法来计算树中所有整数的总和,我的代码工作正常,但我仍然对应用程序如何知道何时停止感到困惑。我的代码如下所示:
public int sum(){
return sum(overallRoot);
}
private int sum(IntTreeNode root) {
if (root == null) {
return 0;
}else {
return root.data + sum(root.left) + sum(root.right);
}
}
(上面的代码来自我的 nodeTree 类)
下一个代码来自我的主类:
public class TreeClient {
/**
* @param args
*/
public static void main(String[] args) {
IntTree tree = new IntTree(12);
System.out.println(tree.sum());
}
}
所以问题是(对于许多人来说可能很简单)但是我的应用程序如何知道何时停止?我尝试使用简单的系统输出打印来弄清楚,但据我现在的理解,该方法会在无限循环中调用它自己?
希望有人有时间回复!