这道题的主要问题是 出队列 :先进先出!
大部分人都应该能想到 先从stack1出栈,入栈stack2,然后直接从stack2出栈就ok了
但是这里有一个情况就是 stack2本身就有数据,那么你就需要直接出stack2的数据!
以下为代码:
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.isEmpty()){
return stack2.pop();
}
else{
while(!stack1.isEmpty()){
stack2.push(stack1.pop());
}
while(!stack2.isEmpty()){
return stack2.pop();
}
}
return -1;
}
}