From 58d6986c75b745b6351eeaca4b29c06358b42a27 Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Fri, 2 Jul 2021 13:34:18 +0800 Subject: [PATCH] =?UTF-8?q?LeetBook--=E9=98=9F=E5=88=97&=E6=A0=88--?= =?UTF-8?q?=E5=B2=9B=E5=B1=BF=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/leet/book/queueStack/NumIslands.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/main/java/leet/book/queueStack/NumIslands.java diff --git a/src/main/java/leet/book/queueStack/NumIslands.java b/src/main/java/leet/book/queueStack/NumIslands.java new file mode 100644 index 0000000..2970847 --- /dev/null +++ b/src/main/java/leet/book/queueStack/NumIslands.java @@ -0,0 +1,35 @@ +package leet.book.queueStack; + +/** + * Created with IntelliJ IDEA. + * + * @author: 轩辕龙儿 + * @date: 2021/7/2 10:53 + * @Description: No Description + */ +public class NumIslands { + class Solution { + public int numIslands(char[][] grid) { + int count = 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); + count++; + } + } + } + return count; + } + private void dfs(char[][] grid, int x, int y){ + if(x < 0 || y < 0 || x >= grid.length || y >= grid[0].length || grid[x][y] == '0') { + return; + } + grid[x][y] = '0'; + dfs(grid, x + 1, y); + dfs(grid, x, y + 1); + dfs(grid, x - 1, y); + dfs(grid, x, y - 1); + } + } +}