2023年8月24日 星期四

[200] Number of Islands

把它想的很複雜,結果看了答案之後就覺得沒什麼稀奇的XD
真糟糕~如果面試的時候第一次看到應該什麼都想不到吧XD
總是想用stack  來解啊~哈哈哈 XD

覺得是需要等忘記答案之後再回來寫一次的題目。

void markZero(char**grid, int x, int y, int m, int n)
{
if (x<0 || y<0 || x>=m || y>=n)
return;
if (grid[x][y] == '0')
return;
grid[x][y] = '0';
markZero(grid, x-1, y, m,n);
markZero(grid, x, y-1, m,n);
markZero(grid, x+1, y, m,n);
markZero(grid, x, y+1, m,n);
return;
}


int numIslands(char** grid, int gridSize, int* gridColSize){
int ret =0;
for (int i=0;i<gridSize;i++)
for (int j=0;j<(*gridColSize);j++)
{
if (grid[i][j]=='1')
{
markZero(grid, i,j,gridSize, (*gridColSize)) ;
ret++;
}
}
return ret;
}

沒有留言:

張貼留言