public void question(int col, int n, Node<Integer> part_soln) {
if (col==0) stack.push(part_soln);
else for (int row=1; row<=n; row++)
{ if (!exists(row,part_soln) && !unsafe(col,row,col+1,part_soln))
{ Node<Integer> new_soln = new Node<Integer>(row,part_soln);
question(col-1,n,new_soln);
}
}
}
я вставлял part_soln в стек, но теперь я хочу получить первый part_soln вместо стека, я разорву цикл, как только получу part_soln, я изменю вопрос так:
public void question(int col, int n, Node<Integer> part_soln) {
if (col==0) return part_soln;
else for (int row=1; row<=n; row++)
{ if (!exists(row,part_soln) && !unsafe(col,row,col+1,part_soln))
{ Node<Integer> new_soln = new Node<Integer>(row,part_soln);
question(col-1,n,new_soln);
}
}
return null;
}
проблема возникает, я не могу получить первый элемент в стеке, но продолжаю получать "ноль" в качестве ответа, любое предложение?