1.用两个栈实现一个队列
- 用 stack1 作为 push 队列,将元素 push 到 stack1
- 用 stack2 作为 pop 队列,当 stack2为空时则将 stack1 的数据 push 到 stack2,否 则直接 pop stack2
Stack<Integer> pushStack = new Stack<>();
Stack<Integer> popStack = new Stack<>();
public void push(int node){
pushStack.push(node);
}
public int pop{
if(popStack.isEmpty()){
while(!pushStack.isEmpty){
popStack.push(pushStack.pop());
}
}
if(popStack.isEmpty()) return -1;
else return popStack.pop();
}