package code; /* * 130. Surrounded Regions * 题意:把被 X 包围的 O 填补成 X * 难度:Medium * 分类:Depth-first Search, Breadth-first Search * 思路:把四条外围边框的O向内延伸填为1,剩下的O全部替换为X,再把1替换成O * Tips: */ public class lc130 { public static void main(String[] args) { char[][] board = {{'X','X','X','X'},{'X','O','O','X'},{'X','X','O','X'},{'X','O','X','X'}}; solve(board); System.out.println(board); } public static void solve(char[][] board) { if(board.length==0) return; int[] row = {0, board.length-1}; for (int i = 0; i =board.length||col<0||col>=board[0].length) return; if(board[row][col]=='O') { //是 O 的话才继续递归 board[row][col] = '1'; dfs(board, row + 1, col); dfs(board, row - 1, col); dfs(board, row, col + 1); dfs(board, row, col - 1); } } }