1. stack(先进后出):

pop 拿出并返回最后值; peek 返回最后值; push 加入新值在后面并返回此值。

2. queue(先进先出) :

poll = remove 拿出并返第一个值; element = peek 返第一个值; add = offer 加入新值在后面并返回true/false。

做此题时, 第一个stack为基础, 第二个stack为媒介来颠倒顺序, 加时从第一个加, 取时从第二个取。

public class Queue {
private Stack<Integer> stack1;
private Stack<Integer> stack2; public Queue() {
stack1 = new Stack<Integer>();
stack2 = new Stack<Integer>();
// do initialization if necessary
} public void push(int element) {
stack1.push(element);
// write your code here
} public int pop() {
if(!stack2.empty()){
return stack2.pop();
} else{
while(stack1.size() > 0){
stack2.push(stack1.pop());
}
if(!stack2.empty()){
return stack2.pop();
} else return -1;
}
// write your code here
} public int top() {
if(!stack2.empty()){
return stack2.peek();
} else{
while(stack1.size() > 0){
stack2.push(stack1.pop());
}
if(!stack2.empty()){
return stack2.peek();
} else return -1;
}
// write your code here
}
}

最新文章

  1. WPF样式之画刷结合样式
  2. 进击的Python【第十七章】:jQuery的基本应用
  3. Swing杂记——Swing中引入Android的NinePatch技术,让Swing拥有Android的外观定制能力
  4. ExtJS笔记 Ext.data.Model
  5. 在cmd下编译一个简单的servlet时出现程序包javax.servlet不存在
  6. [OrangePi] Booting from USB drive
  7. clone 深拷贝 浅拷贝
  8. Linux下CPU占用率高分析方法
  9. 提高CSS开发能力的技巧集
  10. Cannot find protocol declaration for &quot;XXDelegate&quot; 找不到协议错误
  11. Kettle ETL 来进行mysql 数据同步——试验环境搭建(表中无索引,无约束,无外键连接的情况)
  12. composer 常用命令
  13. MySQL系列(二)---MySQL事务
  14. MT6592 经验积累
  15. SpringMVC是怎么工作的,SpringMVC的工作原理
  16. C# 程序异常关闭时的捕获
  17. Hibernate api 之常见的类(配置类,会话工厂类,会话类)
  18. KKT条件原理
  19. Android之电话拨号和短信
  20. [CEOI2017]Palindromic Partitions

热门文章

  1. Bootstrap &lt;基础二十九&gt;面板(Panels)
  2. python学习——如何判断输入是数字
  3. 运行impala tpch
  4. error the @annotation pointcut expression is only supported at Java 5 compliance
  5. PHP面试题之驼峰字符串转换成下划线样式例子
  6. java nio(non-blocking io)简介及和io
  7. 使用JPype实现Python调用JAVA程序
  8. 互联网中一些常用指标(PV、UV、蹦失率、转换率、退出率)
  9. SQLSERVER2008 不能用IP连接数据库问题
  10. ccs3