使用两个栈实现
data栈
min栈
//忽略判空判满 public class MinStck{ private Stack<Integer> data=new Stack<>(); private Stack<Integer> min=new Stack<>(); public void push(int s){ data.push(s); if(min.isEmpty()){ min.push(s); }else if(s<min.getMin()){ min.push(s); }else{ min.push(min.peek()); } } public int pop(){ min.pop();return data.pop(); } public int getMin(){ return min.peek(); } }