*LeetCode-Implement Stack using Queues

惯性思维以为也要用两个queue 这个题用一个就可以了 queue可以很方便的翻转顺序,把每个队头的poll出来add到后面就好了

注意queue的实现方式 是用linkedlist

class MyStack {
    // Push element x onto stack
    private Queue<Integer> que = new LinkedList<Integer>();
    
    public void push(int x) {
        que.add(x);
        for ( int i = 0; i < que.size() - 1; i ++){
            que.add( que.poll() );
        }
    }

    // Removes the element on top of the stack.
    public void pop() {
        que.poll();
    }

    // Get the top element.
    public int top() {
        return que.peek();
    }

    // Return whether the stack is empty.
    public boolean empty() {
        if ( que.size() == 0 )
            return true;
        else
            return false;
    }
}


你可能感兴趣的:(*LeetCode-Implement Stack using Queues)