//duynotes.blogspot.com class Solution { public int numIslands(char[][] grid) { if (grid==null || grid.length == 0 || grid[0].length==0){ return 0; } int m = grid.length; int n = grid[0].length; int count =0; for (int i=0; i=m || j<0 || j>=n || grid[i][j]=='0'){ return; } grid[i][j]='0'; DFS(grid,i-1,j); DFS(grid,i+1,j); DFS(grid,i,j-1); DFS(grid,i,j+1); } }