@XQF
2018-03-07T14:52:42.000000Z
字数 528
阅读 1846
数据结构与算法
使用两个栈,一个装数据,一个装最小值。
当pop()数据栈的时候,最小值栈也要pop。
自实现栈的时候,否则没有多大用处
class MyStack1 {MyStack<Integer> stackValues;MyStack<Integer> stackMin;int min;public MyStack1() {stackValues = new MyStack<>();stackMin = new MyStack<>();min = Integer.MAX_VALUE;}public void push(int i) {if (i < min) {min = i;stackMin.push(min);}stackValues.push(i);}public Integer pop() {if (stackValues.peek().equals(stackMin.peek())) {stackMin.pop();}return stackValues.pop();}public Integer min() {if (stackValues.isEmpty()) {return Integer.MAX_VALUE;}return stackMin.peek();}}
