Java实现-用栈实现队列

来源:互联网 发布:java string 换行符 编辑:程序博客网 时间:2024/06/07 10:08

正如标题所述,你需要使用两个栈来实现队列的一些操作。

队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。

pop和top方法都应该返回第一个元素的值。

样例

比如push(1), pop(), push(2), push(3), top(), pop(),你应该返回1,2和2

public class MyQueue {    private Stack<Integer> stack1;private Stack<Integer> stack2;public MyQueue(){stack1=new Stack<Integer>();stack2=new Stack<Integer>();}public void push(int element){stack1.push(element);}public int pop(){if(stack2.isEmpty()){while(!stack1.isEmpty()){stack2.push(stack1.pop());}}return stack2.isEmpty()==true?-1:stack2.pop();}public int top(){if(stack2.isEmpty()){while(!stack1.isEmpty()){stack2.push(stack1.pop());}}return stack2.isEmpty()==true?-1:stack2.peek();}}


原创粉丝点击