最小栈方法的构造-辅助栈
import java.util.Stack;
//public class main{
// public static void main(String[] args){
// MinStack minStack = new MinStack();
// minStack.push(-2);
// minStack.push(0);
// minStack.push(-3);
// System.out.println(minStack.getMin() ); //--> 返回 -3.
// minStack.pop();
// minStack.top(); //--> 返回 0.
// System.out.println(minStack.getMin() ); //--> 返回 -2.
//
//
// }
//}
import java.util.Stack;
//public class main{
// public static void main(String[] args){
// MinStack minStack = new MinStack();
// minStack.push(-2);
// minStack.push(0);
// minStack.push(-3);
// System.out.println(minStack.getMin() ); //--> 返回 -3.
// minStack.pop();
// minStack.top(); //--> 返回 0.
// System.out.println(minStack.getMin() ); //--> 返回 -2.
//
//
// }
//}
class MinStack{
Stack<Integer> stack ;
Stack<Integer> fuzhuStack ;
public MinStack(){
stack = new Stack<>();
fuzhuStack = new Stack<>();
fuzhuStack.push(Integer.MAX_VALUE);//Integer.MAX_VALUE 表示Integer中的最大值
}
public void push(Integer o){
stack.push(o);
fuzhuStack.push(Math.min(o,fuzhuStack.peek()));
}
public void pop(){
stack.pop();
fuzhuStack.pop();
}
public Integer top(){
return stack.peek();
}
public Integer getMin(){
return fuzhuStack.peek();
}
}