import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 判断岛屿数量
* @param grid char字符型二维数组
* @return int整型
*/
int count = 0;
int m = 0;
int n = 0;
public int solve (char[][] grid) {
// write code here
this.m = grid.length;
this.n = grid[0].length;
for (int i=0; i<m; i++) {
for (int j=0; j<n; j++) {
if (grid[i][j] == '1') {
dfs(grid, i, j);
count++;
}
}
}
return count;
}
private void dfs(char[][] grid, int i, int j) {
if (i < 0 || i>= m || j < 0 || j>=n || grid[i][j] == '0') return;
grid[i][j] = '0';
dfs(grid, i-1, j); // 上
dfs(grid, i+1, j); // 下
dfs(grid, i, j-1); // 左
dfs(grid, i, j+1); //右
}
}