参照原来答案的方法..

矩阵中的路径

http://www.nowcoder.com/questionTerminal/2a49359695a544b8939c77358d29b7e6

public boolean hasPath (char[][] matrix, String word) {
// write code here
if(matrix==null||word.length()==0)return false;
boolean[][] isPath = new boolean[matrix.length][matrix[0].length];
for(int i = 0;i<matrix.length;i++){
for(int j =0;j<matrix[0].length;j++){
if(helper(i,j,matrix,isPath,0,word))
return true;
}
}
return false;
}
public boolean helper(int i,int j,char[][] matrix,boolean[][] isPath,int cur,String word){
if(i<0||i>=matrix.length||j<0||j>=matrix[0].length||isPath[i][j]==true)
return false;
if(matrix[i][j]==word.charAt(cur)){
if(cur==word.length()-1) return true;
isPath[i][j]=true;
boolean flag = helper(i+1,j,matrix,isPath,cur+1,word);
if(flag) return true;
flag=helper(i-1,j,matrix,isPath,cur+1,word);
if(flag) return true;
flag=helper(i,j+1,matrix,isPath,cur+1,word);
if(flag) return true;
flag=helper(i,j-1,matrix,isPath,cur+1,word);
if(flag) return true;
isPath[i][j]=false;
}
return false;
}

全部评论

相关推荐

自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务