剑指offer第五题
来源:互联网 发布:用友t3软件下载 编辑:程序博客网 时间:2024/04/30 08:27
题目
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
思路
本来想的很简单,从stack1往stack2中一倒就把“后进先出”倒成了“先进先出”。
但是这个思路有一个问题,就是stack2里面有元素的时候。本来他应该先出的,反倒在stack2中先进,变成了后出
所以应该把stack2分成两种情况
一种它为空,用原来的思路,另一种它不为空,就直接从stack2里面pop出元素来
import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { this.stack1.push(node); } public int pop() { if(stack2.isEmpty()){ while(!this.stack1.isEmpty()){ this.stack2.push(stack1.pop()); } return stack2.pop(); }else{ stack2.pop(); } }}
0 0
- 剑指offer第五题
- 剑指Offer第五题(Java实现)
- 《剑指Offer》第五章
- 剑指offer第五章
- 剑指offer第五题(栈和队列)
- 剑指offer第五题【用两个栈实现队列】c++实现
- 《剑指offer》 第五章优化时间和空间效率 总结
- 剑指Offer第五章面试题(Java版)
- 剑指offer 第五章 优化时间和空间效率
- 剑指offer第一题
- 剑指offer-题
- 剑指offer第一题
- 剑指Offer第一题
- 剑指offer(题三)
- 剑指offer第二题
- 剑指offer第三题
- 剑指offer第四题
- 剑指offer题一
- (十二)优先级队列
- 两个数的和
- 安卓属性动画
- cm源码下载和源码结构介绍,recovery的编译。
- Add Two Numbers
- 剑指offer第五题
- struts2 中的 addActionError 、addFieldError、addActionMessage的方法【转】
- JDBC(Java Data Base Connectivity)
- 局部加权平均-线性回归
- 第一个返回数字
- 深入理解Java的接口和抽象类
- 从这里出发
- Spark
- Android EditText插入字符串到光标所在位置