包含min函数的栈

题目描述

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

代码

class Solution {
    vector<int> v;
    vector<int> m;//辅助数组,数组最后一个愿为当前栈的最小元素
public:
    void push(int value) {
        v.push_back(value);
        if (m.size() == 0 || m.back() >= value) {
            m.push_back(value);
        }
        
    }
    void pop() {
        int val = top();
        v.pop_back();
        if (m.back() == val) {
            m.pop_back();
        }
        
    }
    int top() {
        return v.back();
    }
    int min() {
        return m.back();
    }
};

posted on 2017-03-12 23:40  jec  阅读(103)  评论(0编辑  收藏  举报

导航