/**
* Return an array of arrays of size *returnSize.
* The sizes of the arrays are returned as *returnColumnSizes array.
* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().
*/
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
int b[50][50]={0};
void dfs(int** image, int imageSize, int* imageColSize, int sr, int sc, int newColor,int color){
if(image[sr][sc]==color){
image[sr][sc]=newColor;
int x=sr;
int y=sc;
for(int a=0;a<4;a++){
sr=x+dx[a];
sc=y+dy[a];
if(sr>=0&&sr<imageSize&&sc>=0&&sc<imageColSize[0]&&b[sr][sc]==0){
//printf("%d,%d ",sr,sc);
b[sr][sc]=1;
dfs(image,imageSize, imageColSize, sr, sc, newColor,color);
}
}
}
return;
}
int** floodFill(int** image, int imageSize, int* imageColSize, int sr, int sc, int newColor, int* returnSize, int** returnColumnSizes){
*returnSize=imageSize;
*returnColumnSizes=imageColSize;
for(int a=0;a<50;a++)
{
for(int c=0;c<50;c++){
b[a][c]=0;
}
}
dfs(image,imageSize, imageColSize, sr, sc, newColor,image[sr][sc]);
return image;
}
力扣------图像渲染
最新推荐文章于 2024-07-22 16:27:42 发布