力扣hot100 岛屿数量 dfs 图论

Problem: 200. 岛屿数量

文章目录

思路

复杂度

时间复杂度: O ( n ) O(n) O(n)

空间复杂度: O ( 1 ) O(1) O(1)

Code

Java 复制代码
class Solution {
	int n, m;

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

	private void dfs(char[][] g, int x, int y)
	{
		if (x < 0 || x >= n || y < 0 || y >= m || g[x][y] == '0')
			return;
		g[x][y] = '0';
		int[] dx = { 0, 1, 0, -1 };
		int[] dy = { 1, 0, -1, 0 };
		for (int i = 0; i < 4; i++)
			dfs(g, x + dx[i], y + dy[i]);
	}
}
相关推荐
踩坑记录6 小时前
leetcode hot100 11.盛最多水的容器 medium 双指针
算法·leetcode·职场和发展
圣保罗的大教堂6 小时前
leetcode 865. 具有所有最深节点的最小子树 中等
leetcode
X在敲AI代码7 小时前
LeetCode 基础刷题D2
算法·leetcode·职场和发展
源代码•宸8 小时前
Leetcode—1929. 数组串联&&Q1. 数组串联【简单】
经验分享·后端·算法·leetcode·go
weixin_461769408 小时前
15. 三数之和
c++·算法·leetcode·三数之和
千金裘换酒8 小时前
LeetCode 链表两数相加
算法·leetcode·链表
独自破碎E9 小时前
二分查找-I
leetcode
千金裘换酒10 小时前
LeetCode 删除链表的倒数第N个结点
算法·leetcode
老鼠只爱大米10 小时前
LeetCode算法题详解 42:接雨水
leetcode·动态规划·双指针·单调栈·接雨水·雨水收集
AlenTech11 小时前
739. 每日温度 - 力扣(LeetCode)
算法·leetcode·职场和发展