用两个栈实现队列
来源:互联网 发布:掌中宝app软件下载 编辑:程序博客网 时间:2024/05/18 09:12
package 剑指offer;
import java.util.Stack;
public class 用两个栈实现队列 {
static Stack stack1 = new Stack();
static Stack stack2 = new Stack();
public static void main(String[] args) {
for(int i=0;i<10;i++){
appendTail(i);
}
for(int j=3;j<10;j++){
System.out.print("\t"+deleteHead());
}
}
public static void appendTail(int value){
stack1.push(value);
}
public static int deleteHead(){
if(stack2.isEmpty()){//我觉得这几个判断的顺序写的特别好
while(!stack1.isEmpty()){
int data = (int) stack1.peek();
stack1.pop();
stack2.push(data);
}
}
if(stack2.size() == 0){
return -1;
}
int elem = (int)stack2.pop();
return elem;
}
}
import java.util.Stack;
public class 用两个栈实现队列 {
static Stack stack1 = new Stack();
static Stack stack2 = new Stack();
public static void main(String[] args) {
for(int i=0;i<10;i++){
appendTail(i);
}
for(int j=3;j<10;j++){
System.out.print("\t"+deleteHead());
}
}
public static void appendTail(int value){
stack1.push(value);
}
public static int deleteHead(){
if(stack2.isEmpty()){//我觉得这几个判断的顺序写的特别好
while(!stack1.isEmpty()){
int data = (int) stack1.peek();
stack1.pop();
stack2.push(data);
}
}
if(stack2.size() == 0){
return -1;
}
int elem = (int)stack2.pop();
return elem;
}
}
0 0
- 用两个栈实现队列 & 用两个队列实现栈
- 用两个队列实现栈&用两个栈实现队列
- 用两个栈实现队列 & 两个队列实现一个栈
- 两个栈实现队列&&用两个队列实现一个栈
- 用两个栈实现队列 & 两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 百度地图提供服务——本地搜索,范围搜索
- 编译android源码apk是否生成odex方法
- java操作redis
- java 过滤器详细知识
- 百度地图提供服务——本地搜索,范围搜索
- 用两个栈实现队列
- cocos2dx创建精灵的五种方法(包括使用图片名获取图片)
- 百度地图提供服务——本地搜索,范围搜索
- 用了2年的EOS的感受
- 查看链表是否有环(数据结构C++表示)
- [C++][常识]
- Docker
- 百度地图提供服务——本地搜索,范围搜索
- JAVA多线程1