我无法跟踪堆栈中的节点。我的节点包含一个 2d int 数组,其中包含数字 0-20 以及另一个测量到达当前节点状态的成本的整数(2d int 数组)。
目前我不知道如何跟踪我的堆栈是否包含我希望跳过的节点,因为它已经在堆栈中或之前已被弹出,因此我避免在具有完全相同状态 + 成本的节点上重复相同的比较。
如果 q 是我的堆栈并且 n1 是我刚刚弹出的当前节点,为什么不
q.contains(n1);
永远返回真实?
我还尝试制作一个为每个节点创建一个字符串的 ArrayList
前任
1 2 4
5 3 6
0 7 8
创建字符串“1,2,4,5,3,6,0,7,8”。如果我将此字符串添加到数组列表中并且我使用 aList.contains(stringKey); 永远不会返回真?
我想我必须对一个对象做一些事情,因为 contains() 需要传递一个对象,而且我不是 100% 确定如何做到这一点。