130. Surrounded Regions**
来源:互联网 发布:ubuntu xfce4美化 编辑:程序博客网 时间:2024/06/07 11:04
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 X
After running your function, the board should be:
X X X XX X X XX X X XX O X X
dfs:
public class Solution { private int m; private int n; public void solve(char[][] board) { n=board.length; if(n==0) return; m=board[0].length; for(int i=0;i<n;i++){ if(board[i][0]=='O') dfs(board,i,0); if(board[i][m-1]=='O') dfs(board,i,m-1); } for(int j=0;j<m;j++){ if(board[0][j]=='O') dfs(board,0,j); if(board[n-1][j]=='O') dfs(board,n-1,j); } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(board[i][j]=='O') board[i][j]='X'; if(board[i][j]=='*') board[i][j]='O'; } } } private void dfs(char[][] board,int i, int j){ if(i<0||j<0||i>n-1||j>m-1) return; if(board[i][j]=='O') board[i][j]='*'; if(i>1 &&board[i-1][j]=='O') dfs(board,i-1,j); if(i<n-2&&board[i+1][j]=='O') dfs(board,i+1,j); if(j>1&&board[i][j-1]=='O') dfs(board,i,j-1); if(j<m-2&&board[i][j+1]=='O') dfs(board,i,j+1); }}
0 0
- [LeetCode]130.Surrounded Regions
- LeetCode 130. Surrounded Regions
- [leetcode] 130.Surrounded Regions
- 130. Surrounded Regions
- Leetcode 130. Surrounded Regions
- 130. Surrounded Regions
- 130. Surrounded Regions
- leetcode 130. Surrounded Regions
- leetcode 130. Surrounded Regions
- LeetCode 130. Surrounded Regions
- 130. Surrounded Regions
- [LeetCode]130. Surrounded Regions
- LeetCode 130. Surrounded Regions
- 130. Surrounded Regions
- LeetCode *** 130. Surrounded Regions
- 130. Surrounded Regions
- Leetcode 130. Surrounded Regions
- [leetcode] 130. Surrounded Regions
- 数据挖掘-K-近邻分类器-Iris数据集分析-PCA降维处理后显示分类情况(三)
- leetcode 283 Move Zeroes
- HDU4403:A very hard Aoshu problem(DFS暴搜)
- Codeforces 551B ZgukistringZ【思维+枚举】
- 在windows环境下配置PHPStorm+Xdebug helper+JetBrains IDE Support的环境
- 130. Surrounded Regions**
- 使c++不像c++
- Collection之Set集合
- SDL Timer API
- 记一个质量极差的测试工具——请重视手工测试,自动化测试不是银弹
- BZOJ 1083: [SCOI2005]繁忙的都市 最小瓶颈生成树Kruskal
- Chart.js
- 详谈内存管理技术(一)
- JavaScript -NAN