from typing import List
classSolution:defexist(self, board: List[List[str]], word:str)->bool:# leetcode submit region end(Prohibit modification and deletion)for i, vi inenumerate(board):for j, vj inenumerate(vi):if vj == word[0]:if self._dfs(board, word, i, j,0):returnTruereturnFalse# 怎么判断不能走过走过的路,把他赋空def_dfs(self, board, word, i, j, l):if l ==len(word):returnTrueif i <0or j <0or i ==len(board)or j ==len(board[0]):returnFalseif board[i][j]== word[l]:
tmp = board[i][j]
board[i][j]=''if self._dfs(
board, word, i +1, j, l +1)or self._dfs(
board, word, i -1, j, l +1)or self._dfs(
board, word, i, j +1, l +1)or self._dfs(
board, word, i, j -1, l +1):returnTrueelse:
board[i][j]= tmp