
class MinStack {
private List<Integer> stack;
private List<Integer> assit; //辅助栈
/** initialize your data structure here. */
public MinStack() {
this.stack=new ArrayList<>();
this.assit=new ArrayList<>();
}
public void push(int x) {
stack.add(x);
if (assit.isEmpty()){
assit.add(x);
}else if(x< assit.get(assit.size()-1)){
assit.add(x);
}else{
assit.add(assit.get(assit.size()-1));
}
}
public void pop() {
stack.remove(stack.size()-1);
assit.remove(assit.size()-1);
}
public int top() {
return stack.get(stack.size()-1);
}
public int getMin() {
return assit.get(assit.size()-1);
}
}