题目链接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/
难度:中等
描述:
给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
题解
class Solution:def exist(self, board: List[List[str]], word: str) -> bool:m, n = len(board), len(board[0])def dfs(i, j, k):if k == len(word):return Trueif i < 0 or i >= m:return Falseif j < 0 or j >= n:return Falseif board[i][j] != word[k]:return Falseboard[i][j] = ""ret = dfs(i-1, j, k+1) or dfs(i+1, j, k+1) or dfs(i, j-1, k+1) or dfs(i, j+1, k+1)board[i][j] = word[k]return retfor i in range(m):for j in range(n):if dfs(i, j, 0):return Truereturn False
