【hot100】200岛屿数量

一、思路

最外层两层遍历,目的是访问图中所有点位,然后在碰到为1的点位,即是陆地的点位采用dfs上下左右进行搜索,将整个岛屿全部置为0,然后搜索下一个点位。

二、记忆

注意深搜的终止条件判断

if (r<0 || r>=nr || c<0 || c>=nc || grid[r][c]=='0') return;

三、代码

public int numIslands(char[][] grid){
        if (grid==null || grid.length==0) return 0;
        int nr = grid.length;
        int nc = grid[0].length;
        int num_islands=0;
        for (int i =0;i=nr || c<0 || c>=nc || grid[r][c]=='0') return;
        grid[r][c] = '0';
        dfs(grid,r-1,c);//上
        dfs(grid,r+1,c);//下
        dfs(grid, r,c-1);//左
        dfs(grid,r,c+1);//右
    }

你可能感兴趣的:(HOT100,深度优先,算法)