递归
class Solution {
public int maxAreaOfIsland(int[][] grid) {
int row=grid.length;
int col=grid[0].length;
int max=0;
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
if(grid[i][j]==1){
int number=dfs(grid,i,j);
max=Math.max(number,max);
}
}
}
return max;
}
public static int dfs(int[][] grid,int i,int j){
int row=grid.length;
int col=grid[0].length;
if(i<0||j<0||i>=row||j>=col||grid[i][j]==0){
return 0;
}
grid[i][j]=0;
int num=1;
num+=dfs(grid,i+1,j);
num+=dfs(grid,i-1,j);
num+=dfs(grid,i,j+1);
num+=dfs(grid,i,j-1);
return num;
}
}