class Solution {
public int maxAreaOfIsland(int[][] grid) {
int res = 0;
int xLen = grid.length;
int yLen = grid[0].length;
for (int i = 0; i < xLen; i++) {
for (int j = 0; j < yLen; j++) {
res = Math.max(res,dfs(grid,i,j));
}
}
return res;
}
public int dfs(int[][] grid,int x, int y){
if(x<0 || x >grid.length-1 || y<0 || y>grid[0].length-1 || grid[x][y]==0){
return 0;
}
grid[x][y] = 0;
int area = 1;
area+=dfs(grid,x,y+1);
area+=dfs(grid,x,y-1);
area+=dfs(grid,x-1,y);
area+=dfs(grid,x+1,y);
return area;
}
}