我使用链接节点编写了一个 Stack
的实现,但我想在 pop()
旁边添加一个方法,该方法将删除 的第二项>Linkedstack
不是最上面的项目。我知道实现堆栈的目的是只能删除最上面的项目,但我需要实现这个方法。
这是我已有的 pop()
方法的代码:
public T pop() {
T top = peek();
if (topNode != null)
topNode = topNode.getNextNode();
return top;
}
所以我想做的是让一个新的 node
指向链中的第二个元素,这样我就可以返回它的值,然后让 topNode
指向第一个节点,然后让第一个节点指向链中的第三个节点,因此第二个节点被删除。
最佳答案
可以通过两次常规的出栈操作来移除前两个元素,然后将第一个元素推回栈顶,并返回出栈的第二个元素。
关于java - 如何使 pop() 方法返回并删除堆栈中的第二个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28644934/