美文网首页
LeetCode No.14被围绕的区域

LeetCode No.14被围绕的区域

作者: MRYDM | 来源:发表于2019-06-28 15:54 被阅读0次

    1. LeetCode130题目链接链接

    https://leetcode-cn.com/problems/surrounded-regions/comments/

    2.解题思路

    该题让找到被X围绕的区域,这并不容易,但是在题目中讲过,最外面的O不会被围绕,那我们找到没有被X围绕的区域相对简单一些,然后根据边上的没有被围绕的区域往他的上下左右延伸,并将没有被围绕到到位置做标记,最后讲这些标记改为O即可。

     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+1,j);
                dfs(board,i,j-1);
                dfs(board,i,j+1);
            return ;
        }
    

    3.提交结果

    提交结果

    相关文章

      网友评论

          本文标题:LeetCode No.14被围绕的区域

          本文链接:https://www.haomeiwen.com/subject/xdcecctx.html