我正在尝试获取相互连接的元素数量,但出现堆栈溢出错误。问题在于 DFS 算法。
public int DFS(int x, int y){
int num = 1;
Point p = new Point(x, y); //fix
int color = this.getColor(p);
Checkers h = new Checkers(color,p);
h.setVisited();
for(int dx=-1; dx<=1; dx++){
for(int dy=-1; dy<=1; dy++){
Point u = new Point(x+dx, y+dy);
if (this.getColor(u)==color){
num = num + DFS(x+dx, y+dy);
}
}
}
return num;
}
我想返回连接在一起的元素数量。