本文主要是介绍leetcode.cn_面试题 08.10. 颜色填充_2649,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
class Solution {public int[][] floodFill(int[][] image, int sr, int sc, int newColor) {// 新值和旧值相等没有必要进行填充if (newColor == image[sr][sc]){return image;}dfs(image,sr,sc,newColor,image[sr][sc]);return image;}private void dfs(int[][] image, int sr, int sc, int newColor,int oldColor){// 越界或者这个点不能涂就返回if ( sr < 0 || sr >= image.length || sc < 0 || sc >= image[sr].length || image[sr][sc] != oldColor){return;}// 涂色 + 四个方向扩散image[sr][sc] = newColor;dfs(image,sr - 1,sc,newColor,oldColor);dfs(image,sr + 1,sc,newColor,oldColor);dfs(image,sr ,sc - 1 ,newColor,oldColor);dfs(image,sr ,sc + 1,newColor,oldColor);}
}
这篇关于leetcode.cn_面试题 08.10. 颜色填充_2649的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!