问题描述
我尝试使用JavaScript解决leetcode 79,但是此测试用例失败:
[[“ A”,“ B”,“ C”,“ E”],[“ S”,“ F”,“ C”,“ S”],[“ A”,“ D”,“ E“,” E“]] “ ABCB”
我的代码如下:
/**
* @param {character[][]} board
* @param {string} word
* @return {boolean}
*/
var exist = function(board,word) {
let row = board.length,col = board[0].length;
let dfs = (word,r,c) =>{
if (!word.length){
return true;
}
else if (r>=0 && r<row && c>=0 && c<col && word[0] === board[r][c]){
let tmp = board[r][c];
board[r][c] = '#';
console.log(word[0],board,c)
if (dfs(word.substr(1),r+1,c) || dfs(word.substr(1),r-1,c+1) || word.substr(1),c-1){
return true;
}
board[r][c] = tmp;
return false;
}
else{
return false;
}
}
for (let r=0; r<row; r++){
for (let c=0; c<col; c++){
if (dfs(word,c)){
return true;
}
}
}
return false;
};
我的Python解决方案使用相同的逻辑,并且通过了。我真的不在哪里,我错了,被困了几个小时....
解决方法
到目前为止一切顺利!
-
我的猜测是,该错误将出现在深度优先搜索
rows
和else if
中。 -
这会通过,与DFS类似:
else