遍历矩阵,找到岛屿后,递归抹掉岛屿,总数+1,全部遍历完成后,返回总数
public int solve(char[][] grid) { int sum = 0; for (int i = 0; i < grid.length; i++) { for (int j = 0; j < grid[i].length; j++) { if (grid[i][j] == '0') { continue; } else { search(grid, i, j); sum++; } } } return sum; } public void search(char[][] grid, int x, int y) { if (grid[x][y] == '0') { return; } grid[x][y] = '0'; if (y >= 1) { search(grid, x, y - 1); } if (x <= grid.length - 2) { search(grid, x + 1, y); } if (y <= grid[0].length - 2) { search(grid, x, y + 1); } if (x >= 1) { search(grid, x -1, y ); } }