Number Of Island by DFS
class Solution {
int m;
int n;
public int numIslands(char[][] grid) {
m = grid.length;
n = grid[0].length;
int count = 0;
for(int i=0;i<m;i++) {
for(int j=0;j<grid[i].length;j++) {
if(grid[i][j] == '1') {
count++;
dfs(grid,i,j);
}
}
}
return count;
}
public void dfs(char[][] grid, int i, int j) {
if(i<0||i>=m||j<0||j>=n||grid[i][j] != '1') return 0;
grid[i][j] = 'X';
dfs(grid,i-1,j);
dfs(grid,i+1,j);
dfs(grid,i,j-1);
dfs(grid,i,j+1);
}
}Last updated