博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Implement Queue using Stacks
阅读量:6409 次
发布时间:2019-06-23

本文共 1211 字,大约阅读时间需要 4 分钟。

A classic interview question. has a nice explanation of the idea using two stacks and its amortized time complexity.

I use the same idea in my code, which is as follows.

1 class Queue { 2 public: 3     // Push element x to the back of queue. 4     void push(int x) { 5         stack1.push(x); 6     } 7  8     // Removes the element from in front of queue. 9     void pop(void) {10         if (stack2.empty()) {11             while (!stack1.empty()) {12                 int elem = stack1.top();13                 stack1.pop();14                 stack2.push(elem);15             }16         }17         stack2.pop();18     }19 20     // Get the front element.21     int peek(void) {22         if (stack2.empty()) {23             while (!stack1.empty()) {24                 int elem = stack1.top();25                 stack1.pop();26                 stack2.push(elem);27             }28         }29         return stack2.top();30     }31 32     // Return whether the queue is empty.33     bool empty(void) {34         return stack1.empty() && stack2.empty();35     }36 private:37     stack
stack1;38 stack
stack2;39 };

 

转载于:https://www.cnblogs.com/jcliBlogger/p/4626552.html

你可能感兴趣的文章
PHP源代码下载(本代码供初学者使用)
查看>>
Disruptor-NET和内存栅栏
查看>>
Windows平台ipod touch/iphone等共享笔记本无线上网设置大全
查看>>
播放加密DVD
查看>>
分享Silverlight新鲜事 - Silverlight Firestarter全球会议
查看>>
产品设计体会(3013)项目的“敏捷沟通”实践
查看>>
RHEL6.3基本网络配置(1)ifconfig命令
查看>>
网络诊断工具之—路由追踪tracert命令
查看>>
Java模拟HTTP的Get和Post请求(增强)
查看>>
php 环境搭建(windows php+apache)
查看>>
让虚拟机的软盘盘符不显示(适用于所有windows系统包括Windows Server)
查看>>
Cygwin不好用
查看>>
jQuery插件之验证控件jquery.validate.js
查看>>
[经验]无线鼠标和无线键盘真的不能用了?——雷柏的重生之路~
查看>>
【转】plist涉及到沙盒的一个问题
查看>>
GNU make manual 翻译( 一百四十五)
查看>>
重构之美-走在Web标准化设计的路上[复杂表单]3 9 Update
查看>>
linux中的优先搜索树的实现--prio_tree【转】
查看>>
转载: 打造自己的asp.net验证控件
查看>>
重构之美-跨越Web标准,触碰语义网[开门见山:Microformat]
查看>>