LeetCode 130. Surrounded Regions
Given an?m x n
?matrix?board
?containing?'X'
?and?'O'
,?capture all regions that are 4-directionally?surrounded by?'X'
.
A region is?captured?by flipping all?'O'
s into?'X'
s in that surrounded region.
?
Example 1:

Input: board = [["X","X","X","X"],["X","O","O","X"],["X","X","O","X"],["X","O","X","X"]]Output: [["X","X","X","X"],["X","X","X","X"],["X","X","X","X"],["X","O","X","X"]]Explanation: Notice that an 'O' should not be flipped if: - It is on the border, or - It is adjacent to an 'O' that should not be flipped. The bottom 'O' is on the border, so it is not flipped. The other three 'O' form a surrounded region, so they are flipped.
Example 2:
Input: board = [["X"]]Output: [["X"]]
?
Constraints:
m == board.length
n == board[i].length
1 <= m, n <= 200
board[i][j]
?is?'X'
?or?'O'
.
典型的DFS先將邊上的為O的改成#,然后dfs跟他相關(guān)聯(lián)的位置也一并改成#,剩下的O就是唄X包圍著的,然后2個(gè)for循環(huán)就可以了。
Runtime:?4 ms, faster than?63.84%?of?Java?online submissions for?Surrounded Regions.
Memory Usage:?52.7 MB, less than?13.82%?of?Java?online submissions for?Surrounded Regions.
Next challenges:
Walls and Gates