岛屿数量问题

Posted Alice_yufeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了岛屿数量问题相关的知识,希望对你有一定的参考价值。

class Solution 
    void dfs(char[][] grid, int r, int c) 
        int nr = grid.length;
        int nc = grid[0].length;

        if (r < 0 || c < 0 || r >= nr || 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);
    

    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 r = 0; r < nr; ++r) 
            for (int c = 0; c < nc; ++c) 
                if (grid[r][c] == '1') 
                    ++num_islands;
                    dfs(grid, r, c);
                
            
        

        return num_islands;
    

以上是关于岛屿数量问题的主要内容,如果未能解决你的问题,请参考以下文章

岛屿问题(岛数量/孤岛/面积/周长)

岛屿数量的递归解决方案

搜索2岛屿的数量(medium)

搜索2岛屿的数量(medium)

搜索2岛屿的数量(medium)

搜索2岛屿的数量(medium)