import java.util.Stack;
public class Solution {
// stack1用来记录现在存入的数值
Stack<Integer> stack1 = new Stack<Integer>();
// stack2用来记录现在要弹出的数值
Stack<Integer> stack2 = new Stack<Integer>();
public void push(int node) {
stack1.push(node);
}
public int pop() {
// 如果stack2不为空,说明现在有数值可以弹出,直接弹出
if(!stack2.isEmpty()){
return stack2.pop();
}
// 如果stack2为空,则将stack1中的数值按照进入的顺序逐个压入stack2
// 现在stack2中就是正常的可以弹出的顺序
else{
while(!stack1.isEmpty()){
stack2.push(stack1.pop());
}
}
return stack2.pop();
}
}
京公网安备 11010502036488号