用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
思路:
一个栈进数据 等进完数据后 往另一个栈中放数据 等放完数据后 另一个栈开始出数据相当于出栈操作;
代码实现:
public class solution2 {
Stack<Integer> stack1 = new Stack<Integer>();//栈1
Stack<Integer> stack2 = new Stack<Integer>();//栈2
public void push(int node){//进栈操作
stack1.push(node);
}
public int pop(){
if(stack2.size() == 0){
while (!stack1.isEmpty()){
int temp = stack1.peek();//出栈
stack2.push(temp);
stack2.pop();
}
}
int res = stack2.peek();
stack2.pop();
return res;
}
}