首页 > 其他 > 详细

【leetcode】栈的最小值

时间:2020-09-18 16:46:29      阅读:68      评论:0      收藏:0      [点我收藏+]

 

typedef struct {
    int top;
    int minIndex[10000];
    int stack[10000];
} MinStack;

MinStack* minStackCreate() {
    MinStack* obj = (MinStack*)calloc(1,sizeof(MinStack));
    obj->top=-1;
    return obj;
}
void minStackPush(MinStack* obj, int x) {
    obj->stack[++obj->top] = x;
    if (obj->top >= 1 && x >= obj->minIndex[obj->top-1]) 
        obj->minIndex[obj->top] =obj->minIndex[obj->top-1];                
    else
        obj->minIndex[obj->top] = x;        
}
void minStackPop(MinStack* obj) {
    obj->top--;
}
int minStackTop(MinStack* obj) {
    return obj->stack[obj->top];
}
int minStackGetMin(MinStack* obj) {
    return obj->minIndex[obj->top];
}
void minStackFree(MinStack* obj) {
    free(obj);
}

 

【leetcode】栈的最小值

原文:https://www.cnblogs.com/ganxiang/p/13691435.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!