问题描述
字母迷宫游戏初始界面记作 m x n
二维字符串数组 grid
,请判断玩家是否能在 grid
中找到目标单词 target
。
注意:寻找单词时 必须 按照字母顺序,通过水平或垂直方向相邻的单元格内的字母构成,同时,同一个单元格内的字母 不允许被重复使用 。
示例 1:
1 | 输入:grid = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], target = "ABCCED" |
示例 2:
1 | 输入:grid = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], target = "SEE" |
示例 3:
1 | 输入:grid = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], target = "ABCB" |
提示:
m == grid.length
n = grid[i].length
1 <= m, n <= 6
1 <= target.length <= 15
grid
和target
仅由大小写英文字母组成
解答
回溯,用visited数组记录是否走过,回溯之后把visited恢复。
1 | class Solution { |