Menu
CoddyTech

Word Search

中等回溯图python iconjava iconcpp iconc iconjs icon+10

你会得到一个字母网格 board,它是一个字符串列表,其中 board[r][c] 表示第 r 行、第 c 列的字母,以及一个字符串 word。

如果你能找到 word,就返回 true:从任意单元格开始,每次移动到上方、下方、左侧或右侧的单元格,使访问到的单元格按顺序拼出 word,且每个单元格只能使用一次。否则返回 false。字母区分大小写。

函数

exist(board: string-array, word: string) → boolean
boardstring-array
网格,每行一串字母
wordstring
要追踪的单词
返回值boolean
无论单词能否通过并排的单元格追踪,每个单元格最多使用一次

约束条件

  • 1 ≤ board.length ≤ 6
  • 1 ≤ board[i].length ≤ 6,并且每一行的长度都相同。
  • 1 ≤ word.length ≤ 20
  • board 和 word 只包含英文字母,包括大写和小写。

示例

输入
board = ["STAR", "POOL", "ENDS"]word = "STOOLS"
输出
true
解释
从左上角的 S 开始,向右到 T,向下到 O,再向右到 O 和 L,然后向下到 L 下方的 S。每个格子都不重复。
challenge icon

进阶

不只是回答“是”或“否”,你能数出棋盘上有多少种不同的 word 走法吗?

重置代码
def exist(board, word):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

board = ["STAR", "POOL", "ENDS"]
word = "STOOLS"

预期输出

true