经过一定的步骤后停止递归

时间:2010-11-06 20:49:20

标签: java recursion tree

这个问题令我感到困惑。我有一棵树,我想写一个方法,计算某个节点的孙子数(但不是伟大的granchildren)。我不能使用循环,只能递归。所以问题是如何实现我的基础案例?我怎么让它停下来?我想不出一种方法可以实现......

2 个答案:

答案 0 :(得分:7)

对你的递归方法有一个depth参数,并在它自我调用之前加1,即:

void myMethod(int depth) {
    /* ... Do something ... */
    if (depth < maxDepth) {
        child.myMethod(depth + 1);
    }
}

答案 1 :(得分:2)

将“递归深度”参数传递给递归函数,并在每次调用函数时递增它。

当你达到极限时,你就会停止递归。