包含 min的栈
1.
class Solution { public: stack<int> m_data; stack<int> m_min; void push(int value) { m_data.push(value); if(m_min.empty()||value<m_min.top()) { m_min.push(value) ; } else { m_min.push(m_min.top()) ; } } void pop() { if(m_data.size()>0&&m_min.size()>0)//限制 { m_data.pop(); m_min.pop(); } else { return;} } int top() { return m_data.top(); } int min() { if(m_data.size()>0&&m_min.size()>0) return m_min.top(); else return 0; } };