Leetcode 155: Mini Stack

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

  • push(x) -- Push element x onto stack.
  • pop() -- Removes the element on top of the stack.
  • top() -- Get the top element.
  • getMin() -- Retrieve the minimum element in the stack.
class MinStack {
public:
       void push(int x) {
         elements.push(x);
          if (mins.empty()||x<=mins.top())
              mins.push(x);
      }
 
      void pop() {
         if (elements.empty()) return;
         if (elements.top() == mins.top())
             mins.pop();
         elements.pop();
     }
 
     int top() {
         return elements.top();
     }
 
     int getMin() {
         return mins.top();
     }
 private:
     stack<int> elements;
     stack<int> mins;
};



你可能感兴趣的:(LeetCode,stack,stack,min)