大致思路:深度遍历。
基于题意,我们只需要找到上下左右4个边界上的’O’,以及与这些节点相接的’O’节点,然后将除了找到的这些节点的其他’O’节点变成’X’。这里我们采用了一个中间状态,即将找出的符合条件的’O’节点置为’*‘,然后将不符合条件的’O’节点变成’X’,再将中间状态变回去即可。
public class Solution {
char[][] board;
int a,b;
public void solve(char[][] board) {
if(board.length==0)return;
this.board = board;
a = board.length;
b = board[0].length;
if(a<=2 || b<=2