Implement Stack using Queues

原创 2015年07月08日 13:10:18
class MyStack {
    // Two queues.
    Queue<Integer> queue1 = new LinkedList<Integer>();
    Queue<Integer> queue2 = new LinkedList<Integer>();
    
    // Push element x onto stack.
    public void push(int x) {
        if (empty()) {
            queue1.offer(x);
        } else {
            if (queue1.size() > 0) {
                queue2.offer(x);
                int size = queue1.size();
                while (size > 0) {
                    queue2.offer(queue1.poll());
                    size--;
                }
            } else {
                queue1.offer(x);
                int size = queue2.size();
                while (size > 0) {
                    queue1.offer(queue2.poll());
                    size--;
                }
            }
        }
    }

    // Removes the element on top of the stack.
    public void pop() {
        if (empty()) {
            return;
        } else if (queue1.size() > 0) {
            queue1.poll();
        } else {
            queue2.poll();
        }
    }

    // Get the top element.
    public int top() {
        if (empty()) {
            return Integer.MAX_VALUE;
        } else if (queue1.size() > 0) {
            return queue1.peek();
        } else {
            return queue2.peek();
        }
    }

    // Return whether the stack is empty.
    public boolean empty() {
        return queue1.isEmpty() && queue2.isEmpty();
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

225. Implement Stack using Queues

这道题考查的是用队列Queue来模拟栈Stack,也是完成几个接口,pop,push,top…..先理清思路,再写代码。 描述: Implement the following operation...

leetcode 225. Implement Stack using Queues

题目Implement the following operations of a stack using queues.push(x) – Push element x onto stack. p...

225. Implement Stack using Queues

225. Implement Stack using Queues Implement the following operations of a stack using queues. ...

关于LeetCode中Implement Stack using Queues一题的理解

题目如下: Implement the following operations of a stack using queues. push(x) -- Push element x on...

[leetcode: Python]225. Implement Stack using Queues

题目: mplement the following operations of a stack using queues.push(x) – Push element x onto stack. ...
  • NXHYD
  • NXHYD
  • 2017-05-12 12:54
  • 161

225. Implement Stack using Queues

Implement the following operations of a stack using queues. push(x) -- Push element x onto stack....

Leetcode225. Implement Stack using Queues

该题和232题类似,思想上差不多232题 原题 Implement the following operations of a stack using queues.push(x) – Push ...

Implement Stack using Queues

一、题目要求 Implement the following operations of a stack using queues. push(x) -- Push element x o...

Implement Stack using Queues

题目描述: Implement the following operations of a stack using queues. push(x) -- Push element x onto ...

LeetCode(36)- Implement Stack using Queues

题目:Implement the following operations of a stack using queues.push(x) -- Push element x onto stack. ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)