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;
    }
};
相关推荐
-优势在我14 分钟前
LeetCode之两数之和
算法·leetcode
WaitWaitWait0118 分钟前
LeetCode每日一题4.17
算法·leetcode
冠位观测者1 小时前
【Leetcode 每日一题】2176. 统计数组中相等且可以被整除的数对
数据结构·算法·leetcode
不知道叫什么呀2 小时前
【C语言基础】C++ 中的 `vector` 及其 C 语言实现详解
c语言·开发语言·c++
阳洞洞2 小时前
leetcode 213. House Robber II
算法·leetcode·动态规划
梭七y2 小时前
【力扣hot100题】(099)寻找重复数
算法·leetcode·职场和发展
汇太浪2 小时前
第十六届蓝桥杯大赛软件赛省赛 C++ 大学 B 组 部分题解
c++·蓝桥杯
WW_千谷山4_sch2 小时前
MYOJ_11700(UVA10591)Happy Number(快乐数)(超快解法:图论思想解题)
c++·算法
郭涤生3 小时前
QML 信号与槽
c++·笔记·qt
Ethon_王3 小时前
C++ STL deque容器详解
c++