CodeACM
HOT 100 · 回溯 · LC 79

单词搜索:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

输入格式

第一行输入 m 和 n。

接下来 m 行输入长度为 n 的字母串;最后一行输入 word。

输出格式

若能找到该单词输出 true,否则输出 false。

数据范围

  • 1 ≤ m, n ≤ 6
  • 1 ≤ word.length ≤ 15
  • 网格和 word 仅包含英文字母

公开样例

样例 1

输入

3 4
ABCE
SFCS
ADEE
ABCCED

输出

true

存在一条相邻单元格路径可以拼出 ABCCED。

样例 2

输入

3 4
ABCE
SFCS
ADEE
ABCB

输出

false

无法在不重复使用单元格的情况下拼出单词。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。