遍历矩阵,找到岛屿后,递归抹掉岛屿,总数+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 );
}
}
京公网安备 11010502036488号