import java.util.Stack; //这道题的关键是,理解栈和队列两种数据结构的实现方式即可 //因为栈是先进后出的,而队列是先进先出的,所以用个中间栈转换一次即可 public class Solution { //新建两个栈 Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); //放入元素 public void push(int node) { stack1.push(node); } //出栈,将第一个入栈的元素弹出后,放入第二个栈 public int pop() { if(stack2.size()<=0){ while(stack1.size() != 0){ stack2.push(stack1.pop()); } }
//最后,出栈即可 return stack2.pop(); } }