LeetCode:200. 岛屿数量

class Solution {

public:

int numIslands(vector<vector<char>>& grid) {

int res=0;

int m=grid.size(),n=grid0.size();

for(int i=0;i<m;i++){

for(int j=0;j<n;j++){

if(gridij=='1'){

//发现岛屿数量加1

res++;

//淹没岛屿

dfs(grid,i,j);

}

}

}

return res;

}

void dfs(vector<vector<char>>& grid,int i,int j){

int m=grid.size(),n=grid0.size();

//超出边界

if(i<0||j<0||i>=m||j>=n){

return;

}

//已经是海水

if(gridij=='0'){

return;

}

gridij='0';

dfs(grid,i+1,j);

dfs(grid,i-1,j);

dfs(grid,i,j+1);

dfs(grid,i,j-1);

}

};

相关推荐
Lumos18612 分钟前
51单片机从零到实战(完结)——后续学习路线建议
算法
稚南城才子,乌衣巷风流17 分钟前
DFS序详解:原理、应用与实现
算法·深度优先·图论
稚南城才子,乌衣巷风流22 分钟前
动态树(Dynamic Tree)数据结构详解
数据结构·算法
小保CPP26 分钟前
OpenCV C++将多张图像合并为webp动图
c++·人工智能·opencv·计算机视觉
zander2581 小时前
114. 二叉树展开为链表
数据结构·链表·深度优先
乐观勇敢坚强的老彭1 小时前
信奥C++一维数组笔记
开发语言·c++·笔记
码上有光1 小时前
异常和智能指针
java·大数据·c++·servlet·异常·智能指针
变量未定义~1 小时前
最小生成树1(Prim模板)、最小生成树2(kruskal模板)、最近公共祖先(模板)
算法
这就是佬们吗1 小时前
Python入门⑤-异常处理、文件操作与实战项目
开发语言·数据库·python·算法·pycharm
王维同学1 小时前
[原创][Windows C++]Explorer Shell 扩展、图标覆盖与 COM 服务器定位
c++·windows·注册表