我想知道在 if 语句中从 Stack
数据结构调用 pop()
方法是否会从堆栈中弹出第一个元素?
这是一个代码示例:
public void pop() {
if(stack.pop() == min) min=stack.pop();
}
这行得通吗?或者像这样声明它更好:
public void pop() {
int poppedOff = stack.pop();
if(poppedOff == min) min=stack.pop();
}
我假设它们在做同样的事情,但我不完全确定。
最佳答案
是的。每次调用 pop
都会从堆栈中弹出一个元素。使用 peek()
或在调用 pop()
时保存值(如第二个示例)。此外,将 min
设置为等于该值的值是没有意义的。
关于java - if 语句中的 stack.pop(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47445641/