思路比较简单。就是当要pop的时候,如果s2为空,才把s1的转过来。总之就是区分一下此时s2为空和非空的情况。 http://ac.jobdu.com/problem.php?pid=1512

#include <cstring>
#include <cstdio>
#include <stack>
using namespace std; class Queue {
public:
void push(int val) {
s1.push(val);
}
int pop() {
if (s2.empty())
{
while(!s1.empty())
{
int tmp = s1.top();
s1.pop();
s2.push(tmp);
}
}
if (!s2.empty()) {
int tmp = s2.top();
s2.pop();
return tmp;
}
else {
return -1;
}
}
private:
stack<int> s1, s2;
}; int main() {
Queue Q;
int n; scanf("%d", &n);
char flag[20]; int val;
for (int i=0; i<n; ++i) {
scanf("%s", flag);
if (strcmp("PUSH", flag) == 0) {
scanf("%d", &val);
Q.push(val);
} else if (strcmp("POP", flag) == 0) {
printf("%d\n", Q.pop());
}
}
return 0;
}

  

最新文章

  1. iOS学习笔记——滚动视图(scrollView)
  2. Java多线程 3 线程同步
  3. Laravel的生命周期
  4. 企业架构(Enterprise Architecture)
  5. 游戏服务器端引擎--DogSE的设计
  6. 【转】oracle connect by用法
  7. 1.5.3 什么是Tokenizer-分词
  8. VS2015环境下Crystal Reports(水晶报表)的安装使用
  9. HDU 5039 Hilarity
  10. FZU 2129 子序列个数
  11. HDU 3289 Cat VS Dog (二分匹配 求 最大独立集)
  12. 【UIView与控件】
  13. Zencart批量删除无图片产品
  14. 设置自己Eclipse代码风格(内部)
  15. Asp.Net Core 轻松学-在.Net Core 使用缓存和配置依赖策略
  16. [转]快速新建简单的koa2后端服务
  17. BZOJ3709 Bohater 贪心
  18. python 3 爬取某小说网站小说,注释详细
  19. [android] activity横竖屏切换的生命周期
  20. Nginx详解十二:Nginx场景实践篇之跨站访问相关

热门文章

  1. 支持状态对象复用的RPC框架——SnakeRPC
  2. ASP.NET5/MVC6 下生成Helppage
  3. 20160531-20160607springmvc入门
  4. Flume负载均衡配置
  5. 项目开发中常用到的SQL语句
  6. Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动
  7. linux启动报错:kernel panic - not attempted to kill init
  8. ### C++总结-[类成员函数]
  9. WPF的TextBox的焦点获取与失去焦点的死循环解决方案
  10. [.Net MVC] 使用 log4net 日志框架