232. Implement Queue using Stacks

class MyQueue {
    // Push element x to the back of queue.
    public void push(int x) {
        stin.push(x);
    }

    // Removes the element from in front of queue.
    public void pop() {
        if(stout.isEmpty())
        {
            while(!stin.isEmpty())
            {
                stout.push(stin.pop());
            }
        }
        stout.pop();
    }

    // Get the front element.
    public int peek() {
        if(stout.isEmpty())
        {
            while(!stin.isEmpty())
            {
                stout.push(stin.pop());
            }
        }
        return stout.peek();
    }

    // Return whether the queue is empty.
    public boolean empty() {
        if(stin.isEmpty()&&stout.isEmpty())
            return true;
        else
            return false;
    }
    
    Stack<Integer> stin=new Stack<Integer>();
    //用于入的栈
    Stack<Integer> stout=new Stack<Integer>();
    //用于出的栈
    
}
原文地址:https://www.cnblogs.com/aguai1992/p/5347555.html