力扣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]);
	}
}
相关推荐
阿里嘎多哈基米32 分钟前
速通Hot100-Day09——二叉树
算法·leetcode·二叉树·hot100
Frostnova丶34 分钟前
LeetCode 48 & 1886.矩阵旋转与判断
算法·leetcode·矩阵
多打代码34 分钟前
2026.3.22 回文子串
算法·leetcode·职场和发展
im_AMBER1 小时前
Leetcode 144 位1的个数 | 只出现一次的数字
学习·算法·leetcode
Lisssaa1 小时前
打卡第二十二天
c++·算法·图论
小刘不想改BUG1 小时前
LeetCode 138.随机链表的复制 Java
java·leetcode·链表·hash table
IronMurphy2 小时前
【算法二十九】 437. 路径总和 III
算法·深度优先
参.商.2 小时前
【Day43】49. 字母异位词分组
leetcode·golang
参.商.2 小时前
【Day45】647. 回文子串 5. 最长回文子串
leetcode·golang
Trouvaille ~2 小时前
【优选算法篇】哈希表——空间换时间的极致艺术
c++·算法·leetcode·青少年编程·蓝桥杯·哈希算法·散列表