12. 矩阵中的路径

 

class Solution:
    def exist(self, board: List[List[str]], word: str) -> bool:
        def dfs(i, j, k):
            if not 0 <= i < len(board) or not 0 <= j < len(board[0]) or board[i][j] != word[k]: 
   return False if k == len(word) - 1:
          return True tmp, board[i][j] = board[i][j], '/' res = 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] = tmp return res for i in range(len(board)): for j in range(len(board[0])): if dfs(i, j, 0): return True return False

 

链接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/solution/mian-shi-ti-12-ju-zhen-zhong-de-lu-jing-shen-du-yo/
原文地址:https://www.cnblogs.com/USTC-ZCC/p/12641361.html