classSolution{int m,n,sr,sc;int prev;publicint[][]floodFill(int[][] image,int sr,int sc,int color){if(image[sr][sc]== color)return image;
m = image.length;
n = image[0].length;
prev = image[sr][sc];dfs(image,sr,sc, color);return image;}int[] dx ={0,0,-1,1};int[] dy ={-1,1,0,0};privatevoiddfs(int[][] image,int i,int j,int color){
image[i][j]= color;for(int k =0; k <4; k++){int x = i + dx[k];int y = j + dy[k];if(x >=0&& x < m && y >=0&& y < n && prev == image[x][y]){dfs(image,x,y,color);}}}}