题目
包含min函数的栈
方法一:
使用俩个栈
一个栈存储原始元素
另外一个栈存储最小元素
代码
class MinStack {private Stack<Integer> A;private Stack<Integer> B;public MinStack() {A = new Stack();B = new Stack();}public void push(int x) {A.push(x);//注意这里的等于号是很重要的,如果没有等于 就会导致B的元素可能会少if(B.empty()||x <= B.peek()){B.push(x);}}public void pop() {if(A.pop().equals(B.peek())){B.pop();}}public int top() {return A.peek();}public int min() {return B.peek();}}
方法二:
使用链表
