相关疑难解决方法(0)

理解Java中的递归更好一点

好吧,我对Java中的递归感到困惑.说我有以下代码:

static int findShortestString(String[] paths, int lo, int hi) {
        if(lo==hi)
            return lo;
        int minindex=findShortestString(paths,lo+1, hi);
        if(safeStringLength(paths[lo])<safeStringLength(paths[minindex]))
            return lo;
        return minindex;
Run Code Online (Sandbox Code Playgroud)

现在问题不是关于代码本身,而是关于递归如何工作.minindex被设置为等于递归调用.所以第一次运行函数并尝试将minindex设置为某个东西时,它会这样做,然后函数调用自身.但if语句什么时候运行呢?只有当minindex真正拥有真正的价值时它才会运行吗?我只是无法绕过这个.如果minindex导致函数递归并递归,那么if语句什么时候会被检查?当lo==hi?我不明白:(

java algorithm recursion

2
推荐指数
1
解决办法
542
查看次数

标签 统计

algorithm ×1

java ×1

recursion ×1