输入: push(1) min() push(2) min() push(3) min()输出: 1 1 1public class MinStack { Stack<Integer> stack, minStack; public MinStack() { stack = new Stack<Integer>(); minStack = new Stack<Integer>(); } /* * @param number: An integer * @return: nothing */ public void push(int number) { stack.push(number); if (minStack.empty() || number < minStack.peek()) { minStack.push(number); } else { minStack.push(minStack.peek()); } } /* * @return: An integer */ public int pop() { minStack.pop(); return stack.pop(); } /* * @return: An integer */ public int min() { return minStack.peek(); }}[leetcode/lintcode 题解] Google面试题:带最小值操作的栈
原文:https://www.cnblogs.com/lintcode/p/13750771.html