21 包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的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 };
原文地址:https://www.cnblogs.com/mengchunchen/p/8962828.html