题解 | #矩阵中的路径#

矩阵中的路径

https://www.nowcoder.com/practice/2a49359695a544b8939c77358d29b7e6

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param matrix char字符型二维数组 
     * @param word string字符串 
     * @return bool布尔型
     */
    public boolean hasPath (char[][] matrix, String word) {
        // write code here
        int matrix_rows = matrix.length;
        int matrix_columns = matrix[0].length;
        //int[][] matrix_use = new int[matrix_rows][matrix_columns];
        for(int i = 0; i < matrix_rows; i ++){
            for(int j = 0; j < matrix_columns; j ++){
                if(dfs(matrix, word, i, j, 0)) return true;
            }
        }
        return false;
    }
    boolean dfs(char[][] matrix, String word, int i, int j, int index){
        if(i >= matrix.length || i < 0 || j >= matrix[0].length || j < 0 || matrix[i][j] != word.charAt(index)) return false;
        if(index == word.length() - 1) return true;
        char tmp = matrix[i][j];
        matrix[i][j] = '0';
        boolean result = dfs(matrix, word, i - 1, j, index + 1) || dfs(matrix, word, i + 1, j, index + 1) || dfs(matrix, word, i, j - 1, index + 1) || dfs(matrix, word, i, j + 1, index + 1);
        matrix[i][j] = tmp;
        return result;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-16 18:03
点赞 评论 收藏
分享
07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
盖茨伯爵:一样兄弟,我从4月开始发到现在了,都三四百个了
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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