// @lc code=start
/**
* @param {number[][]} image
* @param {number} sr
* @param {number} sc
* @param {number} color
* @return {number[][]}
*/
var floodFill = function (image, sr, sc, color) {
if (image[sr][sc] === color) {
return image
}
const oldColor = image[sr][sc]
function dfs(sr, sc) {
if (//判断边界
sr < 0 ||
sc < 0 ||
sr >= image.length ||
sc >= image[0].length ||
image[sr][sc] !== oldColor
)
return
//将其新颜色和四周相同的颜色改为新的颜色
image[sr][sc] = color
dfs(sr - 1, sc)
dfs(sr + 1, sc)
dfs(sr, sc - 1)
dfs(sr, sc + 1)
}
dfs(sr, sc)
return image
}
// @lc code=end