Flood Fill (Leetcode 733)
Problem Link: https://leetcode.com/problems/flood-fill/
class Solution:
def floodFill(self, image: List[List[int]], sr: int, sc: int, color: int) -> List[List[int]]:
def recursion(image,i,j,oldColor,newColor,m,n):
if(i<0 or j<0 or i>=m or j>=n or image[i][j]!=oldColor):
return
image[i][j]=newColor
recursion(image,i+1,j,oldColor,newColor,m,n)
recursion(image,i,j+1,oldColor,newColor,m,n)
recursion(image,i-1,j,oldColor,newColor,m,n)
recursion(image,i,j-1,oldColor,newColor,m,n)
oldColor=image[sr][sc]
newColor=color
if(oldColor==newColor):
# No need of modifications in this case
# because it is already flood-filled
return image
m=len(image)
n=len(image[0])
recursion(image,sr,sc,image[sr][sc],newColor,m,n)
return image
Last updated