LeetCode 200.岛屿数量(JAVA)

    技术2022-07-11  105

    class Solution { public int numIslands(char[][] grid) { // DFS // 判断特例 if (grid.length == 0 || grid[0].length == 0) return 0; int cnt = 0; // 遍历 for (int i = 0; i < grid.length; i++) { for (int j = 0; j < grid[0].length; j++) { if (grid[i][j] == '1') { cnt++; dfs(grid, i, j); } } } return cnt; } private void dfs(char[][] grid, int i, int j) { // 判断特例, if (i < 0 || j < 0 || i >= grid.length || j >= grid[i].length || grid[i][j] != '1') return; grid[i][j] = '0'; dfs(grid, i - 1, j); dfs(grid, i + 1, j); dfs(grid, i, j - 1); dfs(grid, i, j + 1); } }
    Processed: 0.015, SQL: 9