如图,类似与dfs比较好理解。
四个方向分别递归就好。
void floodFill(int x, int y, int color) { //三个参数,对应坐标和颜色
area[x][y] = color;
if (x > 0 && area[x - 1][y] == 0) floodFill(x - 1, y, color);//left
if (y > 0 && area[x][y - 1] == 0) floodFill(x, y - 1, color);//up
if (x < MAX_X && area[x + 1][y] == 0) floodFill(x + 1, y, color);//right
if (y < MAX_Y && area[x][y + 1] == 0) floodFill(x, y + 1, color);//down
}
附件列表
时间: 2024-10-12 12:25:48