【剑指offer】包含min函数的栈(栈)

版权声明:本文为原创博客,未经允许,请勿转载。 https://blog.csdn.net/u013095333/article/details/88599450

题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。

链接

https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49?tpId=13&tqId=11173&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

代码

class Solution {
public:
    void push(int value) {
    	s.push(value);
    	if(smin.size() == 0){
    		smin.push(value);
    	}
    	else if(smin.top() >= value){
    		smin.push(value);
    	}
    }
    void pop() {
    	if(s.top() == smin.top()){
    		s.pop();
    		smin.pop();
    	}
    	else{
    		s.pop();
    	}
    }
    int top() {
    	return s.top();
    }
    int min() {
        return smin.top();
    }
    stack<int> s;
    stack<int> smin;
};

猜你喜欢

转载自blog.csdn.net/u013095333/article/details/88599450