You are given an m x n matrix board containing 'X' and 'O' characters.
Capture all regions that are 4-directionally surrounded by 'X'. A region is captured by flipping all 'O's into 'X's in that region.
A region is not captured if any 'O' in it touches the border of the board. Those border-connected 'O's and any 'O's connected to them remain 'O'.
The function modifies board in-place and returns nothing.
Before: After: X X X X X X X X X O O X -> X X X X X X O X X X X X X O X X X O X X
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: The bottom-left 'O' touches the border so it is not captured. The interior 'O's are surrounded and become 'X'.
Input: board = [["X"]] Output: [["X"]] Explanation: A single 'X' cell - nothing to capture.
m == board.lengthn == board[i].length1 <= m, n <= 200board[i][j] is 'X' or 'O'4x4 board with interior O's and one border O