LeetCode No.225 Implement Stack using Queues

来源:互联网 发布:javascript注释方法 编辑:程序博客网 时间:2024/06/15 18:05

Implement the following operations of a stack using queues.

  • push(x) -- Push element x onto stack.
  • pop() -- Removes the element on top of the stack.
  • top() -- Get the top element.
  • empty() -- Return whether the stack is empty.
Notes:
  • You must use only standard operations of a queue -- which means only push to backpeek/pop from frontsize, and is empty operations are valid.
  • Depending on your language, queue may not be supported natively. You may simulate a queue by using a list or deque (double-ended queue), as long as you use only standard operations of a queue.
  • You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack).

Update (2015-06-11):

The class name of the Java function had been updated to MyStack instead of Stack.

===================================================================

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

题目大意:用队列来实现栈的基本操作。

思路:使用双向队列。

参考代码:

class Stack {public:    // Push element x onto stack.    void push(int x) {        dq.push_back ( x ) ;    }    // Removes the element on top of the stack.    void pop() {        if ( ! dq.empty() )            dq.pop_back() ;    }    // Get the top element.    int top() {        return dq.back() ;    }    // Return whether the stack is empty.    bool empty() {        return dq.empty() ;    }private:    deque <int> dq ;};


0 0
原创粉丝点击