题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
题目思路
该题可以说思路很明显,栈先进后出,队列先进先出,用两个栈就可以实现队列。
代码如下
import java.util.Stack;
public class Solution {
Stack stack1 = new Stack();
Stack stack2 = new Stack();
public void push(int node) {
stack1.push(node);
}
public int pop() {
if(stack1.empty()&&stack2.empty())
{
throw new RuntimeException("Queue is empty");
}
if(stack2.empty())
{
while(!stack1.empty())
{
stack2.push(stack1.pop());
}
}
return stack2.pop();
}
}
说明
对于删除不合理操作,应该抛出运行时异常,增强程序的鲁棒性。