class Solution {
public:
vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int newColor) {
if(image.size()==0)return image;
int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
int oldColor=image[sr][sc];//记录旧颜色
image[sr][sc]=newColor;//变新颜色
if(oldColor==newColor)return image;//特判一下不然会死循环
for(int i=0;i<4;i++)
{
int x=sr+dx[i],y=sc+dy[i];
if(x>=0 && x<image.size() && y>=0 &&y<image[0].size()&&image[x][y]==oldColor)
{
floodFill(image,x,y,newColor);
}
}
return image;
}
};
leetcode 733. 图像渲染
最新推荐文章于 2024-07-29 21:34:56 发布