#779. 单词搜索(二维矩阵)

单词搜索(二维矩阵)

题目描述

给定一个二维字符矩阵 board和一个字符串 word,判断 word是否存在于矩阵中。单词需按字母顺序通过相邻单元格(上下左右)的字母构成,且同一单元格的字母不可重复使用。

输入格式

board:二维字符矩阵(如 vector<vector>),元素为字母(大小写敏感)。 word:待搜索的字符串(如 "ABCCED")。

输出格式

若 word存在于矩阵中,则输出存在单词,否则不存在单词。

样例

输入样例 1

3 4
A B C E
S F C S
A D E E
ABCCED

输出样例 1

存在单词

输入样例 2

3 3
A B C
D E F
G H I
ABCFED

输出样例 2

存在单词

输入样例 3

3 3
A B C
D E F
G H I
XYZ

输出样例 3

不存在单词

提示

解题思路:核心算法:深度优先搜索(DFS)+ 回溯 1.遍历起点:从矩阵的每个单元格出发,若单元格字符与 word首字符匹配,则启动搜索。 2.递归搜索:向上下左右四个方向扩展,检查字符是否匹配、是否越界、是否重复使用。 3.回溯标记:搜索过程中标记已访问的单元格,递归结束后恢复状态,避免影响其他路径。