Skip to content

Commit 3d12f6e

Browse files
authored
Create 733-flood-fill.js
1 parent 746d341 commit 3d12f6e

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

733-flood-fill.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* @param {number[][]} image
3+
* @param {number} sr
4+
* @param {number} sc
5+
* @param {number} newColor
6+
* @return {number[][]}
7+
*/
8+
const floodFill = function(image, sr, sc, newColor, firstColor = image[sr][sc]) {
9+
if (
10+
sr < 0 ||
11+
sc < 0 ||
12+
sr >= image.length ||
13+
sc >= image[sr].length ||
14+
image[sr][sc] !== firstColor ||
15+
image[sr][sc] === newColor
16+
) {
17+
return image
18+
}
19+
20+
image[sr][sc] = newColor
21+
22+
floodFill(image, sr + 1, sc, newColor, firstColor)
23+
floodFill(image, sr - 1, sc, newColor, firstColor)
24+
floodFill(image, sr, sc + 1, newColor, firstColor)
25+
floodFill(image, sr, sc - 1, newColor, firstColor)
26+
27+
return image
28+
}

0 commit comments

Comments
 (0)