package com.csdn;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class ReverseStack {
public static void main(String[] args) {
Stack stack = new Stack();
stack.push("lu");
stack.push("feng");
stack.push("liu");
stack.push("lu");
stack.push("ying");
reverseStack(stack);
while(stack.size()>0){
System.out.println(stack.pop());
}
}
private static void reverseStack(Stack stack) {
Queue queue = new LinkedList();
while(stack.size()>0)
//offer(E e) 将指定元素添加到此列表的末尾(最后一个元素)。
queue.offer(stack.pop());
while(queue.size()>0){
//poll()获取并移除此列表的头(第一个元素),下面应该用pollLast()
stack.push(((LinkedList) queue).pollLast());
}
}
}
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class ReverseStack {
public static void main(String[] args) {
Stack stack = new Stack();
stack.push("lu");
stack.push("feng");
stack.push("liu");
stack.push("lu");
stack.push("ying");
reverseStack(stack);
while(stack.size()>0){
System.out.println(stack.pop());
}
}
private static void reverseStack(Stack stack) {
Queue queue = new LinkedList();
while(stack.size()>0)
//offer(E e) 将指定元素添加到此列表的末尾(最后一个元素)。
queue.offer(stack.pop());
while(queue.size()>0){
//poll()获取并移除此列表的头(第一个元素),下面应该用pollLast()
stack.push(((LinkedList) queue).pollLast());
}
}
}