解法一:负负得正
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() {
while(!stack1.isEmpty()) stack2.push(stack1.pop());
int t=stack2.pop();
while(!stack2.isEmpty()) stack1.push(stack2.pop());
return t;
}
}
解法二:优化
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();
while(!stack1.isEmpty()) stack2.push(stack1.pop());
return stack2.pop();
}
}