方法一:深度优先搜索
遍历这个二维数组,如果某一结点包含"1",则将该结点作为根节点,上下左右地进行搜索查找符合要求的。如果找到下一个符合要求的结点,再次以该结点作为根节点进行搜索。
深度优先搜索的核心就是:优先往纵向挖掘深入,而不是对一个结点的所有邻接结点进行访问,也是一种递归的过程
class Solution {
//上下左右
int[] xx = {
-1,1,0,0};
int[] yy = {
0,0,-1,1};
int row;
int column;
public int numIslands(char[][] grid) {
if(grid==null||grid.length==0||(grid.length==1&&grid[0].length==0)){
return 0;
}
row = grid.length;//行
column = grid[0].length;//列
int count = 0;
for (int i=0;i<row