我的递归函数有什么问题?

时间:2018-01-31 21:38:48

标签: javascript recursion

当u和v是硬编码的数字时,这个递归函数非常有效,但是当我用字母替换它们时它会停止工作,我不知道问题是什么。

function findPath(x,y,u,v) {
    if(x < 1 || x > n  || y < 1 || y > n) return false;
    if(u < 1 || u > n  || v < 1 || v > n) return false;

    if(x == u && y == v) {
        arr[u][v].className = 'marked';
        return true;
    }
    if(arr[x][y].className != 'path') 
        return false;
    else {
        arr[x][y].className = 'marked';
        if(findPath(x-1,y)) return true;
        if(findPath(x+1,y)) return true;
        if(findPath(x,y+1)) return true;
        if(findPath(x,y-1)) return true;
    }
    arr[x][y].className = 'path';
}

drawGrid(n);
findPath(1,1,7,4);

0 个答案:

没有答案