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;
}
}