包含min函数的栈
class Solution { public: void push(int value) { m_sdata.push(value); if(m_smin.size() == 0 || value < m_smin.top()) m_smin.push(value); else m_smin.push(m_smin.top()); } void pop() { if(m_sdata.size()>0 && m_smin.size()>0){ m_sdata.pop(); m_smin.pop(); } } int top() { return m_sdata.top(); } int min() { return m_smin.top(); } private: stack<int> m_smin; stack<int> m_sdata; };