两个栈实现队列
来源:互联网 发布:java 构造器 编辑:程序博客网 时间:2024/06/06 00:15
两个栈实现队列
查看文章:http://www.cnblogs.com/kaituorensheng/archive/2013/03/02/2939690.html
有三种思路:
- s1是入栈的,s2是出栈的。
- 入队列时:如果s1为空,把s2中所有的元素倒出压到s1中;否则直接压入s1
- 出队列时:如果s2不为空,把s2中的栈顶元素直接弹出;否则,把s1的所有元素全部弹出压入s2中,再弹出s2的栈顶元素
s1是入栈的,s2是出栈的。保证所有元素都在一个栈里面
- 入队列时:如果s1为空,把s2中所有的元素倒出压到s1中;否则直接压入s1
- 出队列时:如果s2不为空,把s2中的栈顶元素直接弹出;否则,把s1的所有元素全部弹出压入s2中,再弹出s2的栈顶元素
s1是入栈的,s2是出栈的
- 入队列:直接压入s1即可
- 出队列:如果s2不为空,把s2中的栈顶元素直接弹出;否则,把s1的所有元素全部弹出压入s2中,再弹出s2的栈顶元素
最优解是第三种方式
public class sQueue<T> { Stack<T> s1 = new Stack<T>(); Stack<T> s2 = new Stack<T>(); public void appendTrail(T append) { s1.push(append); } public T deleteHead(Stack<T> s) { if (s2 == null) { while (s1.size() > 0) { s2.push(s1.pop()); } } return s2.pop(); }}
0 0
- 两个栈实现队列
- 两个队列实现栈
- 两个栈实现队列
- 两个栈实现队列
- 两个栈实现队列
- 两个队列实现栈
- 两个栈实现队列
- 两个 栈 实现队列
- 两个栈实现队列
- 两个队列实现栈
- 两个栈实现队列
- 两个栈实现队列
- 两个队列实现栈
- 两个栈实现队列
- 两个栈实现队列
- 两个栈实现队列
- 队列--两个栈实现
- 两个队列实现栈
- Android ImageView的setImageLevel和level-list使用
- AndroidStudio Failed to create JVM:error code -4错误
- Linux 之 FTP服务实战应用进阶
- java自学之路2
- Django 如何 在view.py中使用GET 获取数据?
- 两个栈实现队列
- 过程之精益研发测试
- error: C2533: “MainWindow::{ctor}”: 构造函数不能有返回类型
- Redis在windows下隐藏cmd窗口启动
- c/c++二维数组初始化
- 从尾到头打印链表
- flask win10环境下配置 mysql 数据库
- Spark调优-防止不必要的jar包上传与分发
- TextView属性大全