题目:给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
例如,在下面的 3×4 的矩阵中包含单词 "ABCCED"(单词中的字母已标出)。

示例 1:
输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"
输出:true
示例 2:
输入:board = [["a","b"],["c","d"]], word = "abcd" 输出:false
题解:
var exist = function(board,word){
let k = 0;
for(let i=0;i<board.length;i++){
for(let j=0;j<board[0].length;j++){
if(findwords(i,j,k)) return true
}
}
function findwords(i,j,k){
if(i<0||i>=board.length||j<0||j>=board[0].length||board[i][j]!=word[k]){
return false
}
if(k==word.length-1) return true
let temp = board[i][j]
board[i][j] = "-"
let res = findwords(i+1,j,k+1)||findwords(i-1,j,k+1)||findwords(i,j+1,k+1)||findwords(i,j-1,k+1)
board[i][j] = temp
return res
}
return false
}
链接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof
该博客介绍了一种在给定的二维字符网格中搜索指定单词的方法。通过递归地检查相邻单元格来寻找单词路径,如果找到则返回true,否则返回false。示例展示了在不同网格中查找单词的有效性和无效性。
574

被折叠的 条评论
为什么被折叠?



