LeetCode-Number of Islands-解题报告

原创 2015年07月08日 19:13:51

原题链接 https://leetcode.com/problems/number-of-islands/

Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Example 1:

11110
11010
11000
00000

Answer: 1

Example 2:

11000
11000
00100
00011

Answer: 3


以前刷acm题的时候遇到过类似的, 用fillflood就可以解决。

class Solution {
public:
    int numIslands(vector<vector<char>>& grid) {
		int cnt = 0;
		for (int i = 0; i < grid.size(); ++i)
		{
			for (int j = 0; j < grid[i].size(); ++j)
			{
				if (grid[i][j] == '1')
				{
					dfs(grid, i, j, 'a');
					cnt++;
				}
			}
		}
		return cnt;
	}
	void dfs(vector<vector<char>>& grid, int i, int j, char color)
	{
		if (i < 0 || j < 0 || j >= grid[0].size() || i >= grid.size())return;
		if (grid[i][j] != '1')return;
		grid[i][j] = color;
		dfs(grid, i + 1, j, color);
		dfs(grid, i - 1, j, color);
		dfs(grid, i, j + 1, color);
		dfs(grid, i, j - 1, color);
	}
};



相关文章推荐

[LeetCode]Number of Islands,解题报告

目录目录 前言 题目 思路 AC代码 我的疑问前言利用晚上11点之后的时间刷刷LeetCode也是我的一种休闲方式。不过水这篇博客是因为这道简单的BFS题目我竟然用了13次才AC,最后AC还是因为我参...

[leetcode] 305. Number of Islands II 解题报告

题目链接: https://leetcode.com/problems/number-of-islands-ii/ A 2d grid map of m rows and n columns i...

【LeetCode】Number of 1 Bits 解题报告

Number of 1 Bits[LeetCode]https://leetcode.com/problems/number-of-1-bits/Total Accepted: 88721 Total...

LeetCode解题报告--Letter Combinations of a Phone Number

题目:字母组合的电话号码 Given a digit string, return all possible letter combinations that the number could re...

LeetCode解题报告 452. Minimum Number of Arrows to Burst Balloons [medium]

题目描述 There are a number of spherical balloons spread in two-dimensional space. For each balloon, ...

[LeetCode] 452. Minimum Number of Arrows to Burst Balloons 解题报告

There are a number of spherical balloons spread in two-dimensional space. For each balloon, provided...
  • a921122
  • a921122
  • 2017年03月11日 10:58
  • 259

[LeetCode]Number of Digit One,解题报告

题目Given an integer n, count the total number of digit 1 appearing in all non-negative integers less ...

[LeetCode] Letter Combinations of a Phone Number 解题报告

[题目] Given a digit string, return all possible letter combinations that the number could represent....

[LeetCode] 447. Number of Boomerangs 解题报告

Given n points in the plane that are all pairwise distinct, a "boomerang" is a tuple of points (i, ...
  • a921122
  • a921122
  • 2017年03月01日 05:04
  • 255

LeetCode 191.Number of 1 Bits 解题报告

LeetCode 191.Number of 1 Bits 解题报告
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode-Number of Islands-解题报告
举报原因:
原因补充:

(最多只允许输入30个字)