You're given an image as a 2D grid image, a starting pixel (sr, sc), and a color. Perform a flood fill: starting from (sr, sc), recolor every pixel connected to it (horizontally or vertically) that shares the starting pixel's original color. Return the modified image.
The literal "paint bucket" version of the same connected-region walk behind DFS.
Example
Input: image = [[1,1,1],[1,1,0],[1,0,1]], sr = 1, sc = 1, color = 2
Output: [[2,2,2],[2,2,0],[2,0,1]]