File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Expand file tree Collapse file tree 1 file changed +40
-0
lines changed 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