经典DFS题解 | #矩阵中的路径#

矩阵中的路径

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

public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param matrix char字符型二维数组
* @param word string字符串
* @return bool布尔型
*/
public boolean hasPath (char[][] matrix, String word) {
// write code here
char[]words = word.toCharArray();
for(int i = 0; i<matrix.length; i++){
for(int j = 0; j<matrix[0].length; j++){
if(dfs(matrix,words,i,j,0)) return true;
}
}
return false;
}
public boolean dfs(char[][]matrix, char[]words, int i, int j, int k){
if(i>=matrix.length||i<0||j<0||j>=matrix[0].length||matrix[i][j]!=words[k]){
return false;
}
//原地修改不需要额外空间
matrix[i][j] = '\0';
if(k == words.length-1){
return true;
}
boolean res = dfs(matrix,words,i,j+1,k+1)||dfs(matrix,words,i+1,j,k+1)||dfs(matrix,words,i,j-1,k+1)|| dfs(matrix,words,i-1,j,k+1);
//改回来
matrix[i][j] = words[k];
return res;
}
}

全部评论

相关推荐

昨天 18:30
门头沟学院 Java
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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