Java实现 LeetCode 130 被围绕的区域
130. 被围绕的区域
给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。
找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。
示例:
X X X X
X O O X
X X O X
X O X X
运行你的函数后,矩阵变为:
X X X X
X X X X
X X X X
X O X X
解释:
被围绕的区间不会存在于边界上,换句话说,任何边界上的 ‘O’ 都不会被填充为 ‘X’。 任何不在边界上,或不与边界上的 ‘O’ 相连的 ‘O’ 最终都会被填充为 ‘X’。如果两个元素在水平或垂直方向相邻,则称它们是“相连”的。
class Solution {
     int row,col;
    public void solve(char[][] board) {
        if(board==null||board.length==0)
            return ;
        row=board.length;
        col=board[0].length;
        for(int i=0;i<row;i++){
                dfs(board,i,0);
                dfs(board,i,col-1);
        }
        for(int j=0;j<col;j++){
                dfs(board,0,j);
                dfs(board,row-1,j);
        }
        for(int i=0;i<row;i++){
            for(int j=0;j<col;j++){
                if(board[i][j]=='O')
                    board[i][j]='X';
                if(board[i][j]=='-')
                    board[i][j]='O';
            }
        }
        return ;
    }
    public void dfs(char[][] board,int i,int j){
        if(i<0||j<0||i>=row||j>=col||board[i][j]!='O')
            return;
        board[i][j]='-';
            dfs(board,i-1,j);
              dfs(board,i,j-1);
            dfs(board,i+1,j);
            dfs(board,i,j+1);
        return ;
    }
}
												
											Java实现 LeetCode 130 被围绕的区域的更多相关文章
- [LeetCode] 130. 被围绕的区域
		
题目链接 : https://leetcode-cn.com/problems/surrounded-regions/ 题目描述: 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O). 找到所有 ...
 - LeetCode 130. 被围绕的区域(Surrounded Regions)
		
题目描述 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O). 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充. 示例: X X X X X O O X X X ...
 - Leetcode之深度优先搜索(DFS)专题-130. 被围绕的区域(Surrounded Regions)
		
Leetcode之深度优先搜索(DFS)专题-130. 被围绕的区域(Surrounded Regions) 深度优先搜索的解题详细介绍,点击 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O) ...
 - [LeetCode] 130. Surrounded Regions 包围区域
		
Given a 2D board containing 'X' and 'O'(the letter O), capture all regions surrounded by 'X'. A regi ...
 - Java for LeetCode 130 Surrounded Regions
		
Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region is captured ...
 - Java for LeetCode 200 Number of Islands
		
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...
 - 130 Surrounded Regions 被围绕的区域
		
给定一个二维的矩阵,包含 'X' 和 'O'(字母 O), 找到所有被 'X' 围绕的区域.并将区域里所有 'O'用 'X' 填充.例如,X X X XX O O XX X O XX O X X运行你 ...
 - LeetCode 被围绕的区域
		
给定一个二维的矩阵,包含 'X' 和 'O'(字母 O). 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充. 示例: X X X X X O O X X X O X X ...
 - lintcode:被围绕的区域
		
被围绕的区域 给一个二维的矩阵,包含 'X' 和 'O', 找到所有被 'X' 围绕的区域,并用 'X' 填充满. 样例 给出二维矩阵: X X X X X O O X X X O X X O X X ...
 
随机推荐
- java中"no enclosing instance of type * is accessible"的解决方法
			
这种情况一般发生在“在静态方法里面使用内部类” 测试代码: public class Test { public static void main(String[] args) { A a = new ...
 - FZU2105 线段树 (按位操作)
			
题目: Given N integers A={A[0],A[1],...,A[N-1]}. Here we have some operations: (元素和操作元素 < 16) Opera ...
 - Java调用支付宝支付遇到的坑
			
下单成功,回调不成功 原因:支付宝公钥填成商户公钥.这两个公钥是不一样的,但开头和结尾很多字符都一样,如果不用文本比对器比对很难发现!而且支付宝公钥填成商户公钥还能下单成功,只是回调不成功,这让原因更 ...
 - Python基础语法day_04——操作列表
			
day_04 遍历整个列表 我们创建列表时,需要输出整个列表,但是通常列表会很长,包含很多元素,当列表长度发生变化是,都必须修改代码.通过for循环,我们可以很轻易地输出整个列表. #遍历整个列表 创 ...
 - 「雕爷学编程」Arduino动手做(20)—水银开关模块
			
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
 - flask之response
			
import os from flask import Flask,render_template,redirect,jsonify,send_file app=Flask(__name__) #开发 ...
 - centos7安装后不能连接外网
			
测试外网: 1,测访问外网能力:curl -l http://www.baidu.com 2,测访问外网能力:wget http://www.baidu.com 注:ping命令不一定能正确反映系统的 ...
 - canvas遇到的一些问题
			
1.移动端无法全屏问题 问题描述:由于canvas的width和height只能设置px值,不支持rem单位,所以想在移动设备屏幕分辨率繁杂的情况下达到canvas铺满全屏的效果很困难. 解决方法:通 ...
 - blazor wasm访问非本地的restful service
			
准备工作 blazor wasm正式版发布了!在尝试使用的过程中,发现几个小坑,跟大家分享一下,希望有所帮助. 我是通过keycloak来保护blazor和service的,如何保护service请参 ...
 - 树状数组区间更新区间查询以及gcd的logn性质
			
题目描述 给你一个长为n的序列a m次查询 每次查询一个区间的所有子区间的gcd的和mod1e9+7的结果 输入描述: 第一行两个数n,m之后一行n个数表示a之后m行每行两个数l,r表示查询的区间 输 ...