/**
* \* Created: liuhuichao
* \* Date: 2019/5/31
* \* Time: 27:37 PM
* \* Description: 岛屿数量
* \
* 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。
* 一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。
* <p>
* 示例 1:
* <p>
* 输入:
* 11110
* 11010
* 11000
* 00000
* <p>
* 输出: 1
* 示例 2:
* <p>
* 输入:
* 11000
* 11000
* 00100
* 00011
* <p>
* 输出: 3
* 输入:
* 11000
* 11010
* 00100
* 00011
* <p>
* 输出: 3
*/
public class A200_NumberofIslands {
public static int[][] directions = {
{1, 0}, {-1, 0}, {0, 1}, {0, -1}};
/**
* 使用BFS
*
* @param grid
* @return
*/
public int numIslands(char[][] grid) {
int rowNum = grid