《剑指offer》包含min函数的栈

一、题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

二、输入描述

输入栈

三、输出描述

最小值

四、牛客网提供的框架

class Solution {
public:
    void push(int value) {

    }
    void pop() {

    }
    int top() {

    }
    int min() {

    }
};

五、解题思路

入栈、初栈都按正常的结构写;通过遍历获取最小值。

六、代码

class Solution {
public:
    vector<int> vet;

    void push(int value) {
        vet.push_back(value);

    }
    void pop() {
        if(vet.size() > 0) {vet.pop_back();}
    }
    int top() {
        if(vet.size() > 0) return vet[0];
        else return -1;
    }
    int min() {
        if(vet.size() < 1) return -1;
        else
        {
            int result = vet[0];
            for(int i = 0; i < vet.size(); i++)
                if(vet[i] < result) result = vet[i];
            return result;
        }
    }
};
posted @ 2016-07-15 15:02  chenximcm  阅读(168)  评论(0编辑  收藏  举报