【重点】【回溯】【DFS】79.单词搜索

题目
注意:此题跟岛屿的数量对比来看,增加了回溯的过程,岛屿题并无回溯。

法1:DFS

必须掌握方法!

class Solution {
   
    public boolean exist(char[][] board, String word) {
   
        char[] charArr = word.toCharArray();
        int m = board.length, n = board[0].length;
        for (int i = 0; i < m; ++i) {
   
            for (int j = 0; j < n; ++j) {
   
                int[][] used = new int[m][n];
                if (dfs(board, charArr, used, i, j, 0)) {
   
                    return true;
                }
            }
        }

        return false;
    }

    public boolean dfs(char[][] board, char[] charArr, int[][] used, int i, int j, int curIndex) {
   
        if (i < 0 || i >= board.length 
                || j < 0 || j >= board[0].length 
                || used[i][j] == 1
                || curIndex >= charArr.length 
                || board[i][j] != charArr[curIndex]) {
   
            return false;
        }
        if (curIndex == charArr.length - 1 && board[i][j] == charArr[curIndex]) {
   
            return true;
        }
        used[i][j] = 1;

        boolean res = dfs(board, charArr, used, i - 1, j, curIndex + 1) 
                        || dfs(board, charArr, used, i + 1, j, curIndex + 1) 
                        || dfs(board, charArr, used, i, j - 1, curIndex + 1) 
                        || dfs(board, charArr, used, i, j + 1, curIndex + 1);
        if (res) {
   
            return true;
        } else {
   
            used[i][j] = 0;
            return false;
        }
    }
}

相关推荐

  1. 重点】【回溯】【DFS79.单词搜索

    2023-12-19 08:28:02       46 阅读
  2. 回溯79. 单词搜索

    2023-12-19 08:28:02       34 阅读
  3. leetCode79. 单词搜索

    2023-12-19 08:28:02       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-19 08:28:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-19 08:28:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-19 08:28:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-19 08:28:02       20 阅读

热门阅读

  1. EasyRule的学习到实践

    2023-12-19 08:28:02       30 阅读
  2. 力扣2594.修车的最少时间

    2023-12-19 08:28:02       42 阅读
  3. Spring-MVC-文件上传下载

    2023-12-19 08:28:02       41 阅读
  4. 测试中调用别人的服务,单元测试写法

    2023-12-19 08:28:02       40 阅读
  5. Redis整合Lua脚本

    2023-12-19 08:28:02       42 阅读
  6. Ansible

    Ansible

    2023-12-19 08:28:02      35 阅读