美文网首页
2019-09-09[剑指offer-]包含min函数的栈

2019-09-09[剑指offer-]包含min函数的栈

作者: Coding破耳 | 来源:发表于2019-11-15 22:23 被阅读0次

题目描述

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

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

相关文章

网友评论

      本文标题:2019-09-09[剑指offer-]包含min函数的栈

      本文链接:https://www.haomeiwen.com/subject/zpnmyctx.html