200. 岛屿数量

2021-09-14  本文已影响0人  漫行者_

200. 岛屿数量

感觉判断条件还是写入进函数的时候不容易出错

class Solution {
    int[] X = {0,0,-1,1};
    int[] Y = {1,-1,0,0};

    public int numIslands(char[][] grid) {
        int num = 0;
        for(int i=0;i<grid.length;i++) {
            for(int j=0;j<grid[0].length;j++) {
                if(grid[i][j] == '1') {
                    dfs(grid, i, j);
                    num++;
                }
            }
        }
        return num;
    }

    public void dfs(char[][] grid, int x, int y) {
        if(x < 0 || x>=grid.length || y<0 || y>=grid[0].length || grid[x][y] != '1') {
                return;
            }
        grid[x][y] = '0';
        for(int i=0;i<4;i++) {
            int xn = x + X[i];
            int yn = y + Y[i];
            dfs(grid, xn, yn);
        }
    }

}
上一篇 下一篇

猜你喜欢

热点阅读