我的递归回溯器有什么问题

What is wrong with my recursive back-tracker

.......................

编辑:问题已解决。不得不换行:

 int x = stack.firstElement().getKey();   
 int y = stack.firstElement().getValue();

进入:

 int x = stack.peek().getKey();   
 int y = stack.peek().getValue();

原来方法 .firstElement() 没有给你第一个元素(堆栈顶部的那个),而是第一个插入的元素(总是同一个对象)所以最后执行了所有操作在一个,单个元素而不是多个元素上。