美文网首页
40. 用栈实现队列

40. 用栈实现队列

作者: 李清依 | 来源:发表于2018-02-10 16:38 被阅读0次

40. 用栈实现队列

正如标题所述,你需要使用两个栈来实现队列的一些操作。

队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。

pop和top方法都应该返回第一个元素的值。

您在真实的面试中是否遇到过这个题?

Yes

样例

比如push(1), pop(), push(2), push(3), top(), pop(),你应该返回1,2和2

挑战

标签

相关题目
思路:算法实现很简单,但此处需注意的是stack.pop()并不会直接返回一个特定的值而是直接删除出去

class MyQueue {
public:
    stack<int> s1;
    stack<int> s2;
    MyQueue() {
        // do intialization if necessary
    }

    /*
     * @param element: An integer
     * @return: nothing
     */
    void push(int e) {
        // write your code here
        s1.push(e);
        
        
    }

    /*
     * @return: An integer
     */
    int pop() {
        // write your code here
        int data;
        if(s2.empty()){
            while(!s1.empty()){
                data=s1.top();
                
                s2.push(data);
                s1.pop();
            }
        }
        data=s2.top();
        s2.pop();
        return data;
        
    }

    /*
     * @return: An integer
     */
    int top() {
        int data;
        if(s2.empty()){
            while(!s1.empty()){
                data=s1.top();
                
                s2.push(data);
                s1.pop();
            }
        }
        return s2.top();
    }
};

相关文章

  • 40. 用栈实现队列

    40. 用栈实现队列 描述 笔记 数据 评测 正如标题所述,你需要使用两个栈来实现队列的一些操作。 队列应支持pu...

  • 数据结构——栈和队列

    用数组实现栈和队列 用栈实现队列 用队列实现栈 栈和队列的经典算法题最小间距栈宠物收养所 数组实现栈和队列 用数组...

  • 40. 用栈实现队列

    描述 正如标题所述,你需要使用两个栈来实现队列的一些操作。队列应支持push(element),pop() 和 t...

  • leecode刷题(26)-- 用栈实现队列

    leecode刷题(26)-- 用栈实现队列 用栈实现队列 使用栈实现队列的下列操作: push(x) -- 将一...

  • C语言第七次作业:链表

    707. 设计链表 空指针 空节点 225. 用队列实现栈 链式存储栈 双队列实现栈 232. 用栈实现队列 链式...

  • lintcode 40. 用栈实现队列

    难度:中等 1. Description 2. Solution python用两个栈,十分巧妙。 3. Refe...

  • 队列之-队列实现栈

    一、队列实现栈核心算法概述 之前已经描述过了用栈实现队列的功能,见栈系列之-实现队列,那么同样队列也可以用来实现栈...

  • 38_两个有趣的问题

    关键词:通过栈实现队列、通过队列实现栈 0. 通过栈实现队列 用栈实现队列等价于用后进先出的特性实现先进先出的特性...

  • 栈&队列

    一、栈&队列总结 栈/队列的应用接雨水验证栈序列滑动窗口的最大值 栈/队列的特殊实现用两个栈实现队列用两个队列实现...

  • 面试题9: 用两个栈实现队列

    9-1 用两个栈实现队列 9-2 用两个队列实现栈

网友评论

      本文标题:40. 用栈实现队列

      本文链接:https://www.haomeiwen.com/subject/vpxhtftx.html