leetcode 79 单词搜索

Posted 小师叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 79 单词搜索相关的知识,希望对你有一定的参考价值。

简介

回溯

code

class Solution {
public:
    int n;
    int m;
    bool find;
    void dfs(vector<vector<char>>& board, vector<vector<bool>>& visited, string &word, int index, int i, int j){
        if(index == word.size()){
            find = true;
            return;
        }
        if(i >= n) return;
        if(i < 0) return;
        if(j >= m) return;
        if(j < 0) return;
        if(board[i][j] == word[index]){
            if(visited[i][j] == false) {
                visited[i][j] = true;
                dfs(board, visited, word, index+1, i, j+1);
                visited[i][j] = false;

                visited[i][j] = true;
                dfs(board, visited, word, index+1, i, j-1);
                visited[i][j] = false;

                visited[i][j] = true;
                dfs(board, visited, word, index+1, i+1, j);
                visited[i][j] = false;

                visited[i][j] = true;
                dfs(board, visited, word, index+1, i-1, j);
                visited[i][j] = false;
            }
        }else{
            return;
        }
    }
    bool exist(vector<vector<char>>& board, string word) {
        n = board.size();
        m = board[0].size();
        int index = 0;
        vector<vector<bool>> visited(n, vector<bool>(m, false));
        find = false;
        for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                dfs(board, visited, word, 0, i, j);
                if(find) return true;
            }
        }
        return false;

    }
};

以上是关于leetcode 79 单词搜索的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 79. 单词搜索c++/java详细题解

[JavaScript 刷题] 搜索 - 单词搜索, leetcode 79

[JavaScript 刷题] 搜索 - 单词搜索, leetcode 79

[JavaScript 刷题] 搜索 - 单词搜索, leetcode 79

[LeetCode] 79. 单词搜索

Leetcode 79.单词搜索