Number of Islands LeetCode solution in Java
1class Solution {2public int numIslands(char[][] grid) {3int count = 0;4int r = grid.length;5int c = grid[0].length;6for (int i = 0; i < r; i++) {7for (int j = 0; j < c; j++) {8if (grid[i][j] == '1') {9dfs(grid, i, j);10count++;11}12}13}14return count;15}1617public void dfs(char[][] grid, int i, int j) {18if (i < 0 || j < 0 || i >= grid.length || j >= grid[0].length || grid[i][j] == '0') {19return;20}21grid[i][j] = '0';22dfs(grid, i, j + 1);23dfs(grid, i, j - 1);24dfs(grid, i + 1, j);25dfs(grid, i - 1, j);26}27}