class Solution { public: stack<int> s; stack<int> a; // 存储最小值于栈顶 void push(int value) { s.push(value); if(a.empty()) a.push(value); else { if (a.top() < value) a.push(a.top()); else a.push(value); } } void pop() { s.pop(); a.pop(); } int top() { return s.top(); } int min() { return a.top(); } };