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

Sno*_*man 3 java tree recursion

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

Oli*_*rth 8

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

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

  • maxDepth来自哪里?如果深度达到0,则深度调整会随着每次调用递减而不是更好. (3认同)