leetcode 200. 岛屿数量

妖狐艹你老母 2023-08-17 17:19 372阅读 0赞

从头开始遍历二维数组,找到1就把和它相邻的1都变成#,岛屿数量++

  1. class Solution {
  2. public:
  3. vector<vector<char>> grids;
  4. int numIslands(vector<vector<char>>& grid) {
  5. grids = grid;
  6. int cnt = 0;
  7. for( int i = 0;i < grids.size(); i++ ){
  8. for( int j = 0;j < grids[i].size();j ++){
  9. if( grids[i][j] == '1'){
  10. cnt ++;
  11. dfs(i,j);
  12. }
  13. }
  14. }
  15. return cnt;
  16. }
  17. void dfs(int i,int j){
  18. if( i>=0 && i<grids.size() && j>=0 && j<grids[0].size() && grids[i][j]=='1' ){
  19. grids[i][j] = '#';
  20. dfs(i+1,j);
  21. dfs(i-1,j);
  22. dfs(i,j+1);
  23. dfs(i,j-1);
  24. }
  25. }
  26. };

在这里插入图片描述

一发过,纪念一下!

发表评论

表情:
评论列表 (有 0 条评论,372人围观)

还没有评论,来说两句吧...

相关阅读

    相关 200. 岛屿数量

    200. 岛屿数量 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上

    相关 leetcode200. 岛屿数量

    给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包

    相关 leetcode.200岛屿数量

    一、题目描述 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地

    相关 LeetCode200. 岛屿数量

    题目难度:中等 题目描述: > 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 > 岛屿总是被水包围,并且每座岛屿只能由水平方