public class StackIncludeMinFunc30_ {
static class Stackck {
static Stack<Integer> stack = new Stack<>();
static Stack<Integer> minStack = new Stack<>();
static public void push(int value){
stack.push(value);
if (minStack.isEmpty() || value < minStack.peek())
minStack.push(value);
else
minStack.push(minStack.peek());
}
static public int pop(){
minStack.pop();
return stack.pop();
}
static public int min(){
return minStack.pop();
}
}
public static void main(String[] args) {
}
}
解释:入栈时需要注意,应选择栈顶和当前值中较小的元素入栈