定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
C++:
1 class Solution { 2 private: 3 stack<int> dataStack ; 4 stack<int> minStack ; 5 public: 6 void push(int value) { 7 dataStack.push(value) ; 8 if (minStack.empty() || value < minStack.top()){ 9 minStack.push(value) ; 10 }else{ 11 minStack.push(minStack.top()) ; 12 } 13 } 14 void pop() { 15 dataStack.pop() ; 16 minStack.pop() ; 17 } 18 int top() { 19 return dataStack.top() ; 20 } 21 int min() { 22 return minStack.top() ; 23 } 24 };