C++ | Leetcode C++题解之第79题单词搜索

题目:

题解:

cpp 复制代码
class Solution {
public:
    bool exist(vector<vector<char>>& board, string word) {
        rows = board.size();
        cols = board[0].size();
        for(int i = 0; i < rows; i++) {
            for(int j = 0; j < cols; j++) {
                if (dfs(board, word, i, j, 0)) return true;
            }
        }
        return false;
    }
private:
    int rows, cols;
    bool dfs(vector<vector<char>>& board, string word, int i, int j, int k) {
        if (i >= rows || i < 0 || j >= cols || j < 0 || board[i][j] != word[k]) return false;
        if (k == word.size() - 1) return true;
        board[i][j] = '\0';
        bool res = dfs(board, word, i + 1, j, k + 1) || dfs(board, word, i - 1, j, k + 1) || 
                      dfs(board, word, i, j + 1, k + 1) || dfs(board, word, i , j - 1, k + 1);
        board[i][j] = word[k];
        return res;
    }
};
相关推荐
ComputerInBook28 分钟前
理解 C++ 的 this 指针
开发语言·c++·指针·this·this指针
哎写bug的程序员40 分钟前
leetcode复盘(1)
算法·leetcode·职场和发展
MikeWe1 小时前
一文读懂C++移动语义和完美转发
c++
小马敲马1 小时前
[3.4] 集合通信 理论+代码
开发语言·c++·人工智能·算法·性能优化
whoarethenext2 小时前
使用C/C++的OpenCV 构建人脸识别并自动抓拍系统
c语言·c++·opencv
弥彦_2 小时前
贪心算法经典问题
c++·算法
qq_534452523 小时前
【算法 day02】LeetCode 209.长度最小的子数组 | 59.螺旋矩阵II
java·算法·leetcode·职场和发展
dying_man3 小时前
LeetCode--31.下一个排列
算法·leetcode
向上的车轮3 小时前
语言特性适用的场景:卫星、火箭控制系统用什么开发语言?
java·开发语言·c++·c#·c·ada
IC 见路不走3 小时前
LeetCode 第75题:颜色分类
数据结构·算法·leetcode