leetcode 232 Implement Queue using Stacks C++

原创 2016年05月30日 10:47:35

用两个栈实现一个队列。

class Queue {
public:
    stack<int> s1;
    stack<int> s2;
    // Push element x to the back of queue.
    void push(int x) {
        s1.push(x);
    }

    // Removes the element from in front of queue.
    void pop(void) {
        if(!s2.empty()) s2.pop();
        else{
            if(!s1.empty()){
                while(s1.size()){
                    s2.push(s1.top());
                    s1.pop();
                }
                s2.pop();
            }
        }
    }

    // Get the front element.
    int peek(void) {
        if(!s2.empty()) return s2.top();
        else{
            if(!s1.empty()){
                while(s1.size()){
                    s2.push(s1.top());
                    s1.pop();
                }
                return s2.top();
            }else{
                return NULL;
            }
        }
    }

    // Return whether the queue is empty.
    bool empty(void) {
        
        return s1.empty() && s2.empty();
    }
};


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

相关文章推荐

【LeetCode-232】 Implement Queue using Stacks(C++)

题目要求:用站实现队列的插入,删除,返回队头元素和判断是否为空四种操作。 解题方法:用两个栈实现队列。代码如下: class Queue { public: // Push element...

【leetcode】232. Implement Queue using Stacks

一、题目描述 Implement the following operations of a queue using stacks. push(x) -- Push element x...

LeetCode232 Implement Queue using Stacks Java 题解

题目: Implement the following operations of a queue using stacks. push(x) -- Push element x to...

LeetCode232—Implement Queue using Stacks

LeetCode232: Implement Queue using Stacks

LeetCode 232 Implement Queue using Stacks(用栈来实现队列)(*)

翻译用栈来实现队列的下列操作。push(x) —— 将元素x写入到队列的尾部 pop() —— 从队列首部移除元素 peek() —— 返回队列首部元素 empty() —— 返回队列是否为空注意:你...
  • NoMasp
  • NoMasp
  • 2016年01月20日 21:18
  • 2415

[leetcode: Python]232. Implement Queue using Stacks

题目: Implement the following operations of a queue using stacks.push(x) – Push element x to the back...
  • NXHYD
  • NXHYD
  • 2017年05月12日 13:09
  • 138

[LeetCode]232.Implement Queue using Stacks

题目Implement the following operations of a queue using stacks.push(x) – Push element x to the back of...

[leetcode] 232. Implement Queue using Stacks

Implement the following operations of a queue using stacks. push(x) -- Push element x to the back o...

leetcode 232. Implement Queue using Stacks

解题思路: 用栈的基本操作实现队列的基本操作 原题目:Implement the following operations of a queue using stacks.push(x) -- P...

Leetcode232. Implement Queue using Stacks

原题 Implement the following operations of a queue using stacks.push(x) – Push element x to the back ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 232 Implement Queue using Stacks C++
举报原因:
原因补充:

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