编写函数,实现许多图片编辑软件都支持的“填充颜色”功能。给定一个屏幕(以二维数组表示,元素为颜色值)、一个点和一个新的颜色值,将新颜色值填入这个点的周围区域,知道原来的颜色值全部改变。
分析:
这道题意思有些不清楚,看书后答案应该如下图所示。
原来矩阵:
染色后矩阵
即与选中点相连的且颜色相同的点被染成新的颜色。
package cci;
public class CCI_9_7 {
public enum Color{PINK, ORANGE, GREEN}
public static void fillColor(Color[][] mat, int row, int col, Color newColor){
if(mat[row][col]==newColor)
return;
fillColor(mat, row, col, mat[row][c