讨论/《初级算法》 - 最小栈/
《初级算法》 - 最小栈

一开始用list实现效率很低

class MinStack {
        Stack<Integer> stack;
        Stack<Integer> minstack;
        int min;
        /** initialize your data structure here. */
        public MinStack() { 
            stack=new Stack();
            minstack=new Stack();
           minstack.push(Integer.MAX_VALUE);
        }

        public void push(int val) {
             stack.push(val);
             minstack.push(Math.min(minstack.peek(),val));
        }

        public void pop() {
           stack.pop();
           minstack.pop();
        }

        public int top() {
           return stack.peek();
        }

        public int getMin() {
          return minstack.peek();
        }
    }

展开全部 7 讨论