En Java
class Solution {
static int islandNumbers;
public int numIslands(char[][] grid) {
islandNumbers = 0;
for(int i = 0; i < grid.length; i++){
for(int j = 0; j < grid[0].length ; j++){
if(grid[i][j] == '1'){
dfs(i,j, grid);
islandNumbers++;
}
}
}
return islandNumbers;
}
public void dfs(int i, int j, char[][] grid){
if(i>=0 && i<grid.length && j>=0 && j<grid[0].length && grid[i][j] == '1'){
grid[i][j] = '2';
dfs(i, j+1, grid);
dfs(i, j-1, grid);
dfs(i+1, j, grid);
dfs(i-1, j, grid);
}
}
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.