一、题目
二、代码
class Solution
{
boolean whether = false;
public int numEnclaves(int[][] grid)
{
int i,j;
int length_1 = grid.length;
int length_2 = grid[0].length;
int sum = 0;
for(i=0;i<length_1;i++)
{
for(j=0;j<length_2;j++)
{
if(grid[i][j] == 1)
{
whether = false;
int temp = dfs(grid,i,j);
if(whether == false)
{
sum = sum+temp;
}
}
}
}
return sum;
}
public int dfs(int[][]grid , int x, int y )
{
if(x<0||x>grid.length-1||y<0||y>grid[0].length-1)
{
whether = true;
return 0;
}
if(grid[x][y] == 0)
{
return 0;
}
grid[x][y] = 0;
int count = 1;
count = count+dfs(grid,x-1,y);
count = count+dfs(grid,x+1,y);
count = count+dfs(grid,x,y-1);
count = count+dfs(grid,x,y+1);
return count;
}
}
三、运行结果