注意这个题将二维矩阵以一维数组的形式存储
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param matrix string字符串
# @param rows int整型
# @param cols int整型
# @param str string字符串
# @return bool布尔型
#
class Solution:
def hasPath(self , matrix , rows , cols , str ):
# write code here
matrix=list(matrix)
str=list(str)
def dfs(i,k):
result=False
temp=0
if i<0 or i>=len(matrix) or matrix[i]!=list(str)[k]:
return False
else:
temp=matrix[i]
matrix[i]='#'
if k==len(str)-1:
return True
if dfs(i+cols,k+1)or dfs(i-cols,k+1) or dfs(i-1,k+1) or dfs(i+1,k+1):
result=True
matrix[i]=temp
return result
if not matrix:
return False
for i in range(rows):
for j in range(cols):
if dfs(i*cols+j,0):
return True
return False
京公网安备 11010502036488号