733. Flood Fill
【思路】
- 使用深度遍历
vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int newColor) {
if(image[sr][sc] != newColor)
dfs(image,sr,sc,image[sr][sc],newColor);
return image;
}
void dfs(vector<vector<int>>& image, int i, int j, int old,int newcolor){
if(i<0 || j<0 || i>= image.size() || j >=image[0].size()|| image[i][j] != old ) return;
image[i][j] = newcolor;
dfs(image, i, j - 1, old, newcolor);
dfs(image, i, j + 1, old, newcolor);
dfs(image, i - 1, j, old, newcolor);
dfs(image, i + 1, j, old, newcolor);
}
网友评论