用最小栈存储当前最小值
class MinStack { public: MinStack() { ms.push(INT_MAX); } void push(int val) { s.push(val); ms.push(min(val, ms.top())); } void pop() { s.pop(); ms.pop(); } int top() { return s.top(); } int getMin() { return ms.top(); } private: stack<int> s, ms; };