1. LeetCode130題目鏈接鏈接
https://leetcode-cn.com/problems/surrounded-regions/comments/
2.解題思路
該題讓找到被X圍繞的區(qū)域,這并不容易界拦,但是在題目中講過渠鸽,最外面的O不會被圍繞叶眉,那我們找到?jīng)]有被X圍繞的區(qū)域相對簡單一些自脯,然后根據(jù)邊上的沒有被圍繞的區(qū)域往他的上下左右延伸,并將沒有被圍繞到到位置做標記桨嫁,最后講這些標記改為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.提交結(jié)果
提交結(jié)果