From
Leetcode
Status
回头复习下
Date
May 20, 2024
Tags
回溯
深度优先搜索
Difficulty
中等
题面
给定一个
m x n
二维字符网格 board
和一个字符串单词 word
。如果 word
存在于网格中,返回 true
;否则,返回 false
。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
示例 1:
![notion image](https://assets.leetcode.com/uploads/2020/11/04/word2.jpg?t=5e8ad4b2-8a11-4562-a2b0-180db3c897fb)
示例 2:
![notion image](https://assets.leetcode.com/uploads/2020/11/04/word-1.jpg?t=496048ee-f77e-4405-afa4-b85d7612b515)
示例 3:
![notion image](https://assets.leetcode.com/uploads/2020/10/15/word3.jpg?t=37c4cee5-8384-4db4-bdf8-76c6bda3eb26)
提示:
m == board.length
n = board[i].length
1 <= m, n <= 6
1 <= word.length <= 15
board
和word
仅由大小写英文字母组成
进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在
board
更大的情况下可以更快解决问题?思路
• 剪枝: 在搜索中,遇到“这条路不可能和目标字符串匹配成功”的情况,例如当前矩阵元素和目标字符不匹配、或此元素已被访问,则应立即返回,从而避免不必要的搜索分支。