采用递归的方式,使用两个队列实现一个栈
public class stackWithQueue {
public static void printStack(Queue queue1,Queue queue2){
if (queue1.isEmpty()&&queue2.isEmpty())
return;
while (queue2.isEmpty()){
while (queue1.size()>1){
queue2.add(queue1.poll());
}
}
System.out.println(queue1.poll());
if (queue1.size()==1)
System.out.println(queue1.poll());
if (queue2.size()==1)
System.out.println(queue2.poll());
printStack(queue2,queue1);
}
public static void main(String[] args) {
Queue queue1= new LinkedList<Integer>();
Queue queue2= new LinkedList<Integer>();
queue1.offer(1);
queue1.offer(2);
queue1.offer(3);
queue1.offer(4);
queue1.offer(5);
printStack(queue1,queue2);
}
}