class Solution {
public:
vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int newColor) {
if(newColor==image[sr][sc])return image;
flood(image,sr,sc,newColor,image[sr][sc]);
return image;
}
void flood(vector<vector<int>>& image, int sr, int sc, int newColor, int oldColor)
{
image[sr][sc]=newColor;
if(sc>0&&image[sr][sc-1]==oldColor)flood(image,sr,sc-1,newColor,oldColor);
if(sc<image[sr].size()-1&&image[sr][sc+1]==oldColor)flood(image,sr,sc+1,newColor,oldColor);
if(sr>0&&image[sr-1][sc]==oldColor)flood(image,sr-1,sc,newColor,oldColor);
if(sr<image.size()-1&&image[sr+1][sc]==oldColor)flood(image,sr+1,sc,newColor,oldColor);
return;
}
};
735.图像渲染
最新推荐文章于 2022-03-15 11:28:41 发布