面试题21 包含min函数的栈
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
1 class Solution { 2 public: 3 void push(int value) { 4 s.push(value); 5 if (minmum.empty() || value < minmum.top()){ 6 minmum.push(value); 7 } 8 else{ 9 minmum.push(minmum.top()); 10 } 11 } 12 void pop() { 13 if (s.size() > 0 && minmum.size() > 0){ 14 s.pop(); 15 minmum.pop(); 16 } 17 } 18 int top() { 19 return s.top(); 20 } 21 int min() { 22 return minmum.top(); 23 } 24 stack<int> minmum; 25 stack<int> s; 26 };