diff --git a/src/main/java/com/thealgorithms/backtracking/FloodFill.java b/src/main/java/com/thealgorithms/backtracking/FloodFill.java index 01b269161..eb4939b34 100644 --- a/src/main/java/com/thealgorithms/backtracking/FloodFill.java +++ b/src/main/java/com/thealgorithms/backtracking/FloodFill.java @@ -39,6 +39,7 @@ public class FloodFill { * @param oldColor The old color which is to be replaced in the image */ public static void floodFill(int[][] image, int x, int y, int newColor, int oldColor) { + if (newColor == oldColor) return; if (x < 0 || x >= image.length) return; if (y < 0 || y >= image[x].length) return; if (getPixel(image, x, y) != oldColor) return; diff --git a/src/test/java/com/thealgorithms/backtracking/FloodFillTest.java b/src/test/java/com/thealgorithms/backtracking/FloodFillTest.java index 7a59b2100..8b860b5b4 100644 --- a/src/test/java/com/thealgorithms/backtracking/FloodFillTest.java +++ b/src/test/java/com/thealgorithms/backtracking/FloodFillTest.java @@ -93,4 +93,14 @@ class FloodFillTest { FloodFill.floodFill(image, 0, 1, 4, 1); assertArrayEquals(expected, image); } + + @Test + void testForSameNewAndOldColor() { + int[][] image = {{1, 1, 2}, {1, 0, 0}, {1, 1, 1}}; + + int[][] expected = {{1, 1, 2}, {1, 0, 0}, {1, 1, 1}}; + + FloodFill.floodFill(image, 0, 1, 1, 1); + assertArrayEquals(expected, image); + } }