您的位置:首页 > 产品设计 > UI/UE

232. Implement Queue using Stacks

2016-02-13 00:16 316 查看
class MyQueue {

    // Push element x to the back of queue.

    Stack<Integer> s1 = new Stack<>();

    Stack<Integer> s2 = new Stack<>();

    public void push(int x) {

        s1.push(x);

    }

    // Removes the element from in front of queue.

    public void pop() {

        if(!s2.isEmpty())s2.pop();

        else{

            while(!s1.isEmpty()){

                s2.push(s1.pop());

            }

            s2.pop();

        }

/*        if(!s2.isEmpty()) s2.pop();

        else {

            while(!s1.isEmpty()) s2.push(s1.pop());

            s2.pop();

        }*/

    }

    // Get the front element.

    public int peek() {

                if(!s2.isEmpty()) return s2.peek();

        else {

            while(!s1.isEmpty()) s2.push(s1.pop());

            return s2.peek();

        }

    }

    // Return whether the queue is empty.

    public boolean empty() {

         return s1.empty() && s2.empty();

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: