Const
给定一个 m x n 二维字符网格 board 和一个字符串 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。
m x n
board
word
true
false
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
![示例1] (../images/79.单词搜索1.jpg) 输入:
board = [ ["A","B","C","E"], ["S","F","C","S"], ["A","D","E","E"]] Copy
board = [ ["A","B","C","E"], ["S","F","C","S"], ["A","D","E","E"]]
word = "ABCCED"
输出: true
输入:
word = "SEE"
word = "ABCB"
输出: false
m == board.length
n = board[i].length
1 <= m, n <= 6
1 <= word.length <= 15
关键点1: 四个方向是回溯的横向遍历,单词位置是回溯的纵向遍历 关键点2:回溯撤销时机应该是四个方向访问后,有了结果后回到第一层时,需要撤回出发点,以便让其他出发点开始搜索能够来到当前被撤回的点进行单词位置匹配。 关键点3: 四个方向只要有一个为true,直接返回,不需要继续尝试其他方向了。
79.单词搜索
给定一个
m x n
二维字符网格board
和一个字符串word
。如果word
存在于网格中,返回true
;否则,返回false
。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
示例 1:
![示例1] (../images/79.单词搜索1.jpg) 输入:
word = "ABCCED"
输出:
true
示例 2:
word = "SEE"
输出:
true
示例 3:
输入:
word = "ABCB"
输出:
false
提示:
m == board.length
n = board[i].length
1 <= m, n <= 6
1 <= word.length <= 15
board
和word
仅由大小写英文字母组成