Lintcode40 Implement Queue by Two Stacks solution 题解

发布时间:2020-07-03 11:03:00 作者:abcdd1234567890
来源:网络 阅读:484

【题目描述】

As the title described, you should only use two stacks to implement a queue's actions.The queue should support push(element), pop() and top() where pop is pop the first(a.k.a front) element in the queue.Both pop and top methods should return the value of first element.

正如标题所述,你需要使用两个栈来实现队列的一些操作。队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。pop和top方法都应该返回第一个元素的值。

【题目链接】

http://www.lintcode.com/en/problem/implement-queue-by-two-stacks/

【题目解析】

用两个Stack来实现一个Queue,可以考虑到push()时,几乎与Queue中的offer()一样,都是加在末尾,区别是当Stack pop()时,取出的是最近加入(newest)的元素,而Queue用poll()则是将最老(oldest)的元素取出。使用2个Stack,可以将stack2作为push()时的目标,而另一个stack1用来翻转顺序,只有当peek()或者是poll()时,才需要将元素翻转存入stack1,再进行读取。

【参考答案】

http://www.jiuzhang.com/solutions/implement-queue-by-two-stacks/


推荐阅读:
  1. 基于cookie在nginx实现业务灰度发布
  2. jenkins 解决maven 比较慢的原因

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

lintcode lut

上一篇:python中self的作用是什么

下一篇:linux centos centos7 安装oci8和pdo_oci扩展

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》