题目:

Given a 2D board containing 'X' and '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 X
X O O X
X X O X
X O X X

After running your function, the board should be:

X X X X
X X X X
X X X X
X O X X

解题思路:

  参照网上的解题思路:先从四周的‘O'进行搜索,将能到达的'O'换成第三种符号,如('#'), 再遍历所有符号把O换成X,第三种符号换回O。

代码:

class Solution {
public:  int m, n;void traversal(int x, int y, vector<vector<char>> &board) {if (x >= 0 && x < m && y >= 0 && y < n && board[x][y] == 'O') {board[x][y] = 'Z';traversal(x - 1, y, board);traversal(x + 1, y, board);traversal(x, y - 1, board);traversal(x, y + 1, board);}    }void solve(vector<vector<char>> &board) {// Start typing your C/C++ solution below// DO NOT write int main() functionif (board.empty() || board.size() == 0 || board[0].size() == 0) {return;}m = board.size(), n = board[0].size();for (int i = 0; i < n; i++) {traversal(0, i, board);traversal(m - 1, i, board);}for (int i = 0; i < m; i++) {traversal(i, 0, board);traversal(i, n - 1, board);}for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {board[i][j] = board[i][j] == 'Z' ? 'O' : 'X';}}}
};

转载于:https://www.cnblogs.com/dongguangqing/p/3727285.html

LeetCode OJ - Surrounded Regions相关推荐

  1. 【BFS】LeetCode 130. Surrounded Regions

    LeetCode 130. Surrounded Regions Solution1:我的答案 利用bfs解决,超过98.7%的答案,还不错.关键是简单易懂! class Solution { pub ...

  2. [LeetCode] 130. Surrounded Regions Java

    题目:Given a 2D board containing 'X' and 'O' (the letter O), capture all regions surrounded by 'X'. A ...

  3. 利用BFS和DFS解决 LeetCode 130: Surrounded Regions

    问题来源 此题来源于LEETCODE,具体问题详见下面的链接 https://leetcode.com/problems/surrounded-regions/description/ 问题简述 给定 ...

  4. leetcode 130. Surrounded Regions | 130. 被围绕的区域(DFS递归“感染“思路)

    题目 https://leetcode.com/problems/surrounded-regions/ 题解 Related Topics 说是并查集问题,然而我并没有用到. 带有 visited ...

  5. LeetCode OJ -- Binary Tree Paths

    http://blog.ubooksapp.com/ 标签(空格分隔): LeetCode OJ BinaryTree Given a binary tree, return all root-to- ...

  6. [leetcode]Surrounded Regions @ Python

    原题地址:https://oj.leetcode.com/problems/surrounded-regions/ 题意: Given a 2D board containing 'X' and 'O ...

  7. LeetCode Surrounded Regions(floodfill算法)

    问题:一个由X,O字符填充的二维数组,问由O包围起来的X,其中O与边界的不计算在内. 思路:floodfill算法 ,先求出O构成的连通,将这些剔除后,就是由O包围起来的X 具体代码参考: https ...

  8. leetcode @python 130. Surrounded Regions

    题目链接 https://leetcode.com/problems/surrounded-regions/ 题目原文 Given a 2D board containing 'X' and 'O', ...

  9. LeetCode: Surrounded Regions [130]

    [题目] Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region is cap ...

最新文章

  1. C语言volatile关键字详解
  2. 独家 | 深度学习基础——激活函数以及什么时候使用它们?(附代码)
  3. C语言 位移运算符的使用
  4. 后台获取前台runat=server的select的值
  5. C# 创建Windows服务
  6. 样例解释:1013 数素数 (20分)
  7. 编程同写作,写代码只是在码字
  8. LINQ的ORM功能中对使用sp_executesql语句的存储过程的支持
  9. 西贝凭什么一年做到50多亿?| 独创的合伙人制:创业分部+赛场制
  10. 企业如何从CMMI3升级为CMMI5,有哪些优势?
  11. 机器视觉硬件之工业相机(一)
  12. 树莓派安装smbus_树莓派学习之I2C通信
  13. 全球与中国乳制品替代杏仁制品市场深度研究分析报告
  14. 如何正确书写正则表达式
  15. 解决Extraneous non-props attributes (border, class) were passed to component but could not be
  16. python读取csv求平均数_python列表切片读取csv数据计算导购客单价.py
  17. IP地址的划分及其范围
  18. 加班申请 ----中间表--系统自动算出---可调休天数
  19. 这没啥挑的,全新java前后端开发需掌握的框架及技术
  20. Python中的File(文件)操作

热门文章

  1. python字符串的10个常用方法总结
  2. python访问序列元素的编号用什么括起来_【填空题】序列元素的编号称为 ,它从 开始,访问序列元素时将它用 括起来。...
  3. Python中的字符串特性(索引、切片、重复、连接、成员操作符号)
  4. Rari Capital于路印L2启动三池流动性挖矿
  5. SAP License:ERP系统供应商管理都包含什么?
  6. SAP License:SaaS的生门到底在哪里?
  7. 一文读懂clickhouse的世界
  8. 《财富》世界500强想到的
  9. python2 与python3 区别的总结 持续更新中......
  10. Hadoop单机环境搭建整体流程