package stack;
import java.util.Stack;
//实现一个栈,要求出栈,入栈,返回最小值的时间复杂度为O(1);
public class StackMin {
static Stack<Integer> num = new Stack<>();
static Stack<Integer> min = new Stack<>();
//入栈
public void push(Integer data){
num.push(data);
if (min.empty() || data<=min.peek()){
min.push(data);
}
}
public int pop(){
if (num.peek()==min.peek()){
min.pop();
}
return num.pop();
}
public void min(){
if (!min.empty()){
System.out.println(min.peek());
}
}
}
只提供类,无测试方法