File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Top Open diff view settings Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Top Open diff view settings Original file line number Diff line number Diff line change 1+ // Runtime: 19 ms
2+ class Solution {
3+ public:
4+
5+ void DFS (vector<vector<char >>&B, int i, int j)
6+ {
7+ if (i < 0 || j < 0 || i >= B.size () || j >= B[0 ].size () || B[i][j] != ' O' )
8+ return ;
9+
10+ B[i][j] = ' #' ;
11+ DFS (B, i + 1 , j);
12+ DFS (B, i - 1 , j);
13+ DFS (B, i, j + 1 );
14+ DFS (B, i, j - 1 );
15+ }
16+
17+ void solve (vector<vector<char >>& board) {
18+ int m = board.size ();
19+ if (m <= 0 ) return ;
20+ int n = board[0 ].size ();
21+ if (n <= 0 ) return ;
22+
23+ for (int i = 0 ; i < m; i++)
24+ for (int j = 0 ; j < n; j++)
25+ if ((i == 0 || i == m - 1 || j == 0 || j == n - 1 ) && (board[i][j] == ' O' ))
26+ DFS (board, i, j);
27+
28+
29+ for (int i = 0 ; i < m; i++)
30+ for (int j = 0 ; j < n; j++)
31+ if (board[i][j] == ' O' )
32+ board[i][j] = ' X' ;
33+
34+ for (int i = 0 ; i < m; i++)
35+ for (int j = 0 ; j < n; j++)
36+ if (board[i][j] == ' #' )
37+ board[i][j] = ' O' ;
38+
39+ }
40+ };
You can’t perform that action at this time.
0 commit comments