剑指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 };

 

posted @ 2020-07-22 18:51  生活待我如初恋  阅读(116)  评论(0编辑  收藏  举报