你的程序错就错在return语句上,请记住,递归条件下每一层的return只能返回到上一层,而不能跳出整个递归函数,如果想达到你的目的,你应该在你的递归函数上写道:
findPath(){
if(thisNode != startNode)
{
return findPath(//你的下一层执行结果);
//这样当你的下一层返回false时,整个递归函数将返回
}
}
lz
if(!isDone) {判断的是isDone不是方法的带进来的参数true,所以,方法是肯定要进行的,可能是isDone在方法执行中并没有修改成true,所以依然会跳进方法中
那是不是你的flag判断问题循环继续~像这样的问题一般debug都可以找到!~~你追踪你的判定值咯~