题解 | #包含min函数的栈#
class Solution { stack<int> s; stack<int> minStack; public: void push(int value) { if (s.size() == 0) { s.push(value); minStack.push(value); } else { s.push(value); if (value <= minStack.top()) { minStack.push(value); } } } void pop() { if (s.size() > 0 && s.top() == minStack.top()) { s.pop(); minStack.pop(); } else { s.pop(); } return; } int top() { if (s.size() > 0) return s.top(); return NULL; } int min() { if (minStack.size() > 0) return minStack.top(); return NULL; } };