您的位置:首页 > 其它

包含min函数的栈

2017-05-12 20:39 190 查看
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

思路:创建两个栈,dataStack栈的出入栈函数与标准一致。minStack栈每次进栈值为当前最小值。

class Solution {
public:
    stack<int> dataStack, minStack;
    void push(int value) {
        dataStack.push(value);
        if (minStack.empty()) {
            minStack.push(value);
        }
        else{
            int min = minStack.top();
            value<=min?minStack.push(value):minStack.push(min);
        }
         
    }
    void pop() {
        dataStack.pop();
        minStack.pop();
    }
    int top() {
        return  dataStack.top();
    }
    int min() {
        return minStack.top();
    }
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: