79. 单词搜索
  1BnnW8rtw7M9 2023年12月06日 45 0


79. 单词搜索

不要用 int[][] dir = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}}; 的写法了,下面这种比较好记。

class Solution {
    boolean[][] vis;
    
    public boolean exist(char[][] board, String word) {
        int m = board.length, n = board[0].length;
        vis = new boolean[m][n];

        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++){
                if(dfs(board, i, j, word, 0)) return true;
            }
        }

        return false;
    }

    boolean dfs(char[][] board, int x, int y, String word, int ind){
        int m = board.length, n = board[0].length;
        if(x < 0 || x >= m || y < 0 || y >= n || word.charAt(ind) != board[x][y] || vis[x][y]) return false;
        if(ind == word.length() - 1) return true;

        vis[x][y] = true;
        if(dfs(board, x + 1, y, word, ind + 1)) return true;
        if(dfs(board, x, y + 1, word, ind + 1)) return true;
        if(dfs(board, x - 1, y, word, ind + 1)) return true;
        if(dfs(board, x, y - 1, word, ind + 1)) return true;
        vis[x][y] = false;


        return false;
    }
}


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月06日 0

暂无评论

推荐阅读
  anLrwkgbyYZS   2023年12月30日   28   0   0 i++iosi++ioscici
1BnnW8rtw7M9
作者其他文章 更多