[LeetCode] 130. Surrounded Regions
来源:互联网 发布:电视剧后期制作软件 编辑:程序博客网 时间:2024/05/17 04:03
Given a 2D board containing ‘X’ and ‘O’ (the letter O), capture all regions surrounded by ‘X’.A region is captured by flipping all ‘O’ s into ‘X’s in that surrounded region.For example,
X X X XX O O XX X O XX O X XAfter running your function, the board should be:
X X X XX X X XX X X XX O X X
class Solution {public: void solve(vector<vector<char>>& board) { if (board.size() == 0) return; const int m = (int)board.size(), n = (int)board[0].size(); for (int j = 0; j < n; j++) { DFS(board, m, n, 0, j); DFS(board, m, n, m - 1, j); } for (int i = 1; i + 1 < m; i++) { DFS(board, m, n, i, 0); DFS(board, m, n, i, n - 1); } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) board[i][j] = (board[i][j] == '*') ? 'O' : 'X'; } }private: void DFS(vector<vector<char>>& board, const int m, const int n, int i, int j) { if (board[i][j] != 'O') return; board[i][j] = '*'; if (i > 1) DFS(board, m, n, i - 1, j); if (i + 2 < m) DFS(board, m, n, i + 1, j); if (j > 1) DFS(board, m, n, i, j - 1); if (j + 2 < n) DFS(board, m, n, i, j + 1); }};
阅读全文
0 0
- [LeetCode]130.Surrounded Regions
- LeetCode 130. Surrounded Regions
- [leetcode] 130.Surrounded Regions
- Leetcode 130. Surrounded Regions
- leetcode 130. Surrounded Regions
- leetcode 130. Surrounded Regions
- LeetCode 130. Surrounded Regions
- [LeetCode]130. Surrounded Regions
- LeetCode 130. Surrounded Regions
- LeetCode *** 130. Surrounded Regions
- Leetcode 130. Surrounded Regions
- [leetcode] 130. Surrounded Regions
- LeetCode-130.Surrounded Regions
- Leetcode 130. Surrounded Regions
- [LeetCode] 130. Surrounded Regions
- leetcode-- 130. Surrounded Regions
- 【LeetCode】130. Surrounded Regions
- Leetcode-130. Surrounded Regions
- char argv, char argv[], char* argv, char argv[][], char * argv[], char** argv, char (*argv)[]
- nginx 配置 https
- 手把手教你如何高效运用思维导图
- 什么是RTTI
- sql 优化
- [LeetCode] 130. Surrounded Regions
- 浅谈C++中指针和引用的区别
- Linux入门
- Android -android程序最先加载的Activity
- Docker 网络基础
- 怎样从0开始搭建一个既可以功能测试+又可以接口测试框架(灰蓝作品,qq号:396214358 )
- grpc.framework.interfaces.face.face.AbortionError: AbortionError(code=StatusCode.UNAVAILABLE, detail
- reactNative 报错提示:ReactNative:The development server returned response error code: 500
- 按之字形顺序打印二叉树