class Solution:
def floodFill(self, image: List[List[int]], sr: int, sc: int, newColor: int) -> List[List[int]]:
visited=[]
pre=image[sr][sc]
self.dp(image,sr,sc,newColor,visited,pre)
return image
def dp(self,image,sr,sc,newColor,visited,pre):
if sr>=0 and sr<len(image) and sc>=0 and sc<len(image[0]) and image[sr][sc]==pre and [sr,sc]not in visited:
image[sr][sc]=newColor
visited.append([sr,sc])
self.dp(image,sr-1,sc,newColor,visited,pre)
self.dp(image,sr+1,sc,newColor,visited,pre)
self.dp(image,sr,sc-1,newColor,visited,pre)
self.dp(image,sr,sc+1,newColor,visited,pre)