class Solution {
public:
vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int color) {
int curcolor = image[sr][sc];
if(curcolor != color)
{
dfs(image,sr,sc,curcolor,color);
}
return image;
}
void dfs(vector<vector<int>>& image, int x, int y, int curcolor, int color)
{
if(image[x][y] == curcolor)
{
image[x][y] = color;
if(y+1 >= 0 && y+1 < image[0].size())
{
dfs(image,x,y+1,curcolor,color);
}
if(y-1 >= 0 && y-1 < image[0].size())
{
dfs(image,x,y-1,curcolor,color);
}
if(x-1 >= 0 && x-1 < image.size())
{
dfs(image,x-1,y,curcolor,color);
}
if(x+1 >= 0 && x+1 < image.size())
{
dfs(image,x+1,y,curcolor,color);
}
}
}
};
leetcode每日一题第138天
最新推荐文章于 2024-09-14 18:52:56 发布