Create Surrounded Regions 

DFS seems plausible at first sight, but it might stack overflow due to four directions dfs. Use queue for bfs might be a better choice.