Leetcode 232. Implement Queue us

2020-02-12  本文已影响0人  bfx1000

Question:Implement the following operations of a queue using stacks.

push(x) -- Push element x to the back of queue.
pop() -- Removes the element from in front of queue.
peek() -- Get the front element.
empty() -- Return whether the queue is empty.

Example:

MyQueue queue = new MyQueue();

queue.push(1);
queue.push(2);  
queue.peek();  // returns 1
queue.pop();   // returns 1
queue.empty(); // returns false

Answer:

public class MyQueue {

    Stack<Integer> stack = new Stack<Integer>();
    Stack<Integer> tempStack = new Stack<>();

    // put the last-in element to the stack bottom every time.
    void push(int x){
        while(!stack.isEmpty())
            tempStack.push(stack.pop());
        stack.push(x);
        while(!tempStack.isEmpty()){
            stack.push(tempStack.pop());
        }
    }
    // remove
    Integer pop(){
        return stack.pop();
    }

    Integer peek(){
        return stack.peek();
    }

    boolean empty(){
        return stack.isEmpty();
    }
}
上一篇 下一篇

猜你喜欢

热点阅读