栈的实现是先进后出,队列是先进先出。思路就是第一个栈的元素按次序出栈,然后第二个栈依次入栈,然后出栈。
import java.util.Stack;
public class Solution {
Stack<Integer> stack1 = new Stack<Integer>();
Stack<Integer> stack2 = new Stack<Integer>();
//队列的入队方法,首先将入队元素倒序压入栈1
public void push(int node) {
stack1.push(node);
}
//队列的出队方法
public int pop() {
int result;//队列的出队元素
if(stack2.isEmpty()){//当栈2为空时,将栈1的元素出栈,压入栈2
while(!stack1.empty()){
stack2.push(stack1.pop());//栈1栈顶出栈,同时栈2入栈
}
}
result=stack2.pop();//栈2出栈
return result;
}
}