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();
    }
}

[LeetCode-225] Implement Stack using Queues(两个队列实现栈)

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

算法系列——Implement Stack using Queues

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

【LeetCode OJ 225】Implement Stack using Queues

题目链接:https://leetcode.com/problems/implement-stack-using-queues/ 题目:Implement the following operati...

[C语言][LeetCode][225]Implement Stack using Queues

[C语言][LeetCode][225]Implement Stack using Queues
  • Timsley
  • Timsley
  • 2016年12月09日 11:11
  • 141

[leetcode] Implement Stack using Queues

题目链接在此。 Implement the following operations of a stack using queues. push(x) -- Push element x o...

LeetCode笔记:225. Implement Stack using Queues

用队列来实现栈

LeetCode 225 Implement Stack using Queues(用队列来实现栈)(*)

翻译用队列来实现栈的如下操作。push(x) —— 将元素x添加进栈 pop() —— 从栈顶移除元素 top() —— 返回栈顶元素 empty() —— 返回栈是否为空注意:你必须使用一个只有标准...
  • NoMasp
  • NoMasp
  • 2016年01月20日 21:28
  • 2961

Implement Stack using Queues - LeetCode 225

题目描述: Implement the following operations of a stack using queues. push(x) -- Push element x onto...
  • bu_min
  • bu_min
  • 2015年06月11日 22:58
  • 316

225. Implement Stack using Queues

leetcode 225 - Easy

leetcode 225:Implement Stack using Queues

题目: Implement the following operations of a stack using queues.push(x) -- Push element x onto stac...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Implement Stack using Queues
举报原因:
原因补充:

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