经典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;
}
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-26 14:50
人力小鱼姐:有后面墨迹那两句的时间问题早回答完了
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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