岛屿数量
我们可以将二维网格看成一个无向图,竖直或水平相邻的 11 之间有边相连。
为了求出岛屿的数量,我们可以扫描整个二维网格。如果一个位置为 1,则以其为起始节点开始进行深度优先搜索。在深度优先搜索的过程中,每个搜索到的 1 都会被重新标记为 0。
最终岛屿的数量就是我们进行深度优先搜索的次数。
深度优先搜索算法
遍历整个二维数组,判断是否为‘1’,如果是则遍历 记住 dfs(grid,i,j)
private void dfs我总是出错 写成public
终止条件:i和j是否越界,且grid[i][j]是否遍历过
进入dfs则Grid[i][j]为‘0’ 之后遍历上下左右 注意i是行,j为列 ,上面是(i+1,j)
class Solution {
public int numIslands(char[][] grid) {
int count=0;
for(int i