博客专栏地址:https://blog.csdn.net/feng964497595/category_9848847.html
github地址:https://github.com/mufeng964497595/leetcode
题目描述
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。
此外,你可以假设该网格的四条边均被水包围。
示例
输入:
11110
11010
11000
00000
输出: 1
思路解析
- 其实看到这道题,网格、连接、搜索,就是很经典的图的遍历,bfs算法或者dfs算法就可以解决,也不需要额外做什么变化,直接套进去用就行了。算是一道签到题吧。
示例代码
class Solution {
public:
int numIslands(vector<vector<char>>& grid) {
if (grid.empty()) return 0;
int width = grid.size();
int height = grid[0].size();
vector<vec