python:矩阵中的路径

class Solution:
	def exit(self,board:List[List[str],word:str)->bool:
		m=len(board)  #矩阵的长度
		n=len(board[0]) if board else 0 #矩阵的宽度
		def dfs(k,i,j): #k是当前的哪一个字符,i j表示当前矩阵的哪一个格子
			if not 0<=i<m or not 0<=j<n or work[k]!=board[i][j]: #不在矩阵的格子范围当中,字符串字符和和矩阵的格子并不相等。
				return False
			if k==len(word)-1 #k是否是字符串最后一个下标
				return True
			tmp=board[i][j]  #记录这个格子
			board[][]='#'   #将格子设为不可能被访问的内容#
			res=dfs(k+1,i-1,j) or dfs(k+1,i+1,j) or dfs(k+1,i,j-1) or dfs(k+1,i,j+1) #判断格子上下左右的数 是否有‘走’下去的路径
			board[i][j]=tmp  #恢复到原来的内容
			return res

		for i in range(m):  #遍历矩阵的格子
			for j in range(n):
				if dfs(0,i,j):
					return True
		return False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值