leetcode---岛屿数量

. - 力扣(LeetCode)

代码:

cpp 复制代码
//岛屿题目的思想:二维矩阵图的DFS就是,上下左右遍历如果是0或者出界的话就return
//规定的是陆地上下左右是水的话它就是岛屿。当遍历矩阵图中每一个点, 
//在调用递归算法之前结果加1,递归算法每次会把一个岛屿全部淹没 
class Solution {
public:
    int numIslands(vector<vector<char>>& grid) {
    	int m = grid.size(); 
    	int n = grid[0].size();
    	int res = 0;
    	for(int i = 0;i < m;i++){
    		for(int j = 0;j < n;j++){
    			if(grid[i][j] == '1'){
    				res++;
    				dfs(grid,i,j);
				}
			}	
		}
		return res;
	}
	void dfs(vector<vector<char>>& grid,int i,int j){
		//出界了return 
		if(i < 0 || j < 0 || i >= grid.size() || j >= grid[0].size()){
			return ;
		}
		if(grid[i][j] == '0'){
			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);
	}
};
相关推荐
core51213 小时前
CatBoost:自带“翻译官”的算法专家
算法·boost·catboost
YGGP13 小时前
【Golang】LeetCode 139. 单词拆分
算法·leetcode
wuguan_13 小时前
C#递推算法
算法·c#·递推算法
多米Domi01113 小时前
0x3f第14天 最长公共子序列
算法·深度优先
spssau13 小时前
正交试验设计全解析:从正交表生成到极差与方差分析
数据库·算法·机器学习
minhuan14 小时前
大模型应用:不减性能只减负担:大模型稀疏化技术全景与实践.36
大数据·人工智能·算法
爱学大树锯14 小时前
592 · 查找和替换模式
算法
爱学大树锯14 小时前
775 · 回文对
算法
girl-072614 小时前
2025.12.26代码分析
数据结构·算法
大罗辑14 小时前
2026软考备考刷题:软件设计师经典100题(5)含详细解析
算法·软考·软件设计师·2026软考·软设备考