#610. 单词搜索

单词搜索

Description

给定一个由大写字母组成的矩阵 board,以及一个目标单词 word

你可以从矩阵中的任意一个格子作为起点,每一步可以向上、下、左、右移动一格。 在一条路径中,同一个格子不能被重复使用

如果存在某条路径,使得依次经过的格子上的字母正好依次组成单词 word, 则称这个单词在矩阵中“存在”。

请你判断:单词 word 是否在给定的矩阵中存在。

Input Format

  • 第一行包含两个整数 nm1 ≤ n, m ≤ 10),表示矩阵的行数和列数。
  • 接下来 n 行,每行包含一个长度为 m 的字符串,仅由大写字母 'A''Z' 组成,表示矩阵。
  • 最后一行是一个由大写字母组成的字符串 word,表示要查找的单词(1 ≤ |word| ≤ 20)。

Output Format

  • 如果存在一条合法路径能拼出 word,输出 Yes
  • 否则输出 No
3 4
ABCE
SFCS
ADEE
ABCCED
Yes
3 4
ABCE
SFCS
ADEE
ABCB
No

Source

DFS 深度优先搜索(单词搜索)