LeetCode:200. 岛屿数量

class Solution {

public:

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

int res=0;

int m=grid.size(),n=grid[0].size();

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

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

if(grid[i][j]=='1'){

//发现岛屿数量加1

res++;

//淹没岛屿

dfs(grid,i,j);

}

}

}

return res;

}

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

int m=grid.size(),n=grid[0].size();

//超出边界

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

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);

}

};

相关推荐
abluckyboy35 分钟前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
园小异40 分钟前
2026年技术面试完全指南:从算法到系统设计的实战突破
算法·面试·职场和发展
m0_7066532342 分钟前
分布式系统安全通信
开发语言·c++·算法
Zach_yuan1 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
寻寻觅觅☆1 小时前
东华OJ-基础题-104-A == B ?(C++)
开发语言·c++
lightqjx1 小时前
【C++】unordered系列的封装
开发语言·c++·stl·unordered系列
天天爱吃肉82182 小时前
跟着创意天才周杰伦学新能源汽车研发测试!3年从工程师到领域专家的成长秘籍!
数据库·python·算法·分类·汽车
alphaTao2 小时前
LeetCode 每日一题 2026/2/2-2026/2/8
算法·leetcode
甄心爱学习2 小时前
【leetcode】判断平衡二叉树
python·算法·leetcode
阿猿收手吧!2 小时前
【C++】string_view:高效字符串处理指南
开发语言·c++