剑指office--------包含min函数的栈

题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
 1 class Solution {
 2 public:
 3     stack<int>q,MIN;
 4     void push(int value) {
 5         q.push(value);
 6         if (MIN.size()==0)
 7             MIN.push(value);
 8         else if (value<MIN.top()){
 9             MIN.push(value);
10         }
11     }
12     void pop() {
13         if (MIN.top()==q.top()){
14             MIN.pop();
15             q.pop();
16         }
17         else    q.pop();
18     }
19     int top() {
20         return q.top();
21     }
22     int min() {
23         return MIN.top();
24     }
25 };
原文地址:https://www.cnblogs.com/q1204675546/p/13362580.html