剑指 矩阵路径中是否包含字符串

矩阵中的路径

http://www.nowcoder.com/questionTerminal/69fe7a584f0a445da1b6652978de5c38

注意这个题将二维矩阵以一维数组的形式存储

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @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
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务