class Solution {
public int numIslands(char[][] grid) {
int m = grid.length;
int n = grid[0].length;
int countIsland = 0;
for(int i=0; i<m; i++){
for(int j=0; j<n; j++){
if(grid[i][j]=='1'){
dfs(grid, i, j);
countIsland++;
}
}
}
return countIsland;
}
void dfs(char grid[][], int i, int j){
if(i<0 || j<0 || i>=grid.length || j>=grid[0].length || grid[i][j]=='0' || grid[i][j] == '2')
return;
grid[i][j] = '2';
dfs(grid, i+1, j);
dfs(grid, i-1, j);
dfs(grid, i, j+1);
dfs(grid, i, j-1);
}
}
Thanks for reading :)
Feel free to comment and like the post if you found it helpful
Follow for more 🤝 && Happy Coding 🚀
If you enjoy my content, support me by following me on my other socials:
https://linktr.ee/tanujav7
Top comments (0)