如题,
思路是一个栈做入队,一个栈做出队。把一个栈全都push到另一个栈里,就实现了逆顺序,就可以当队列使用了。
上代码!
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做入队列
stack1.push(node);
}
public int pop() {
//如果stack2不是空的,则当前的出栈顺序是stack1的出队顺序
//如果stack2是空的,就让所有stack1的元素进stack2中,这样得到的顺序就是队列的顺序了
if(stack2.isEmpty()){
while(!stack1.isEmpty()){
stack2.push(stack1.pop());
}
}
return stack2.pop();
}
}