用两个栈实现队列
思想
1.进队:将元素压入stack1中,stack2暂时不使用。
2.出队:stack2判空:如果stack2不空,弹出栈顶元素。如果stack2为空,则将stack1中所有元素压入stack2中,再弹出stack2的栈顶元素。
代码
public static void push(int node) {
stack1.push(node);
}
public static int pop() {
if (stack1.empty() && stack2.empty())
return 0;
int out = 0;
if (!stack2.empty()){
out = stack2.pop();
}else {
while(!stack1.empty()){
int node2 = stack1.pop();
stack2.push(node2);
}
out = stack2.pop();
}
return out;
}