zoukankan      html  css  js  c++  java
  • leetcode-剑指30-OK

    // language: c
    // 剑指30,已经通过,待发,目前博客园发文章的系统出问题了
    // https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/
    
    // 结点的结构体定义,每个节点记录值与当前最小值
    typedef struct Node{
        int val;
        struct Node *next;
        int min;
    } Node;
    
    
    typedef struct {
        struct Node *top;
        int size;
    } MinStack;
    
    
    /** initialize your data structure here. */
    
    MinStack* minStackCreate() {
        MinStack *A = (MinStack *)malloc(sizeof(MinStack));
        A->top = NULL;
        A->size = 0;
        return A;
    }
    
    void minStackPush(MinStack* obj, int x) {
        Node *newnode=(Node*)malloc(sizeof(Node));
        newnode->val = x;
        newnode->next = obj->top;
        if(obj->size == 0)
            newnode->min =x;
        else if(obj->top->min < x)
            newnode->min = obj->top->min;
        else
            newnode->min =x;
        obj->top = newnode;
        obj->size++;
    }
    
    
    void minStackPop(MinStack* obj) {
        if(obj == NULL)
            return;
        if(obj->top == NULL)
            return;
        Node *willbepoped = obj->top;
        obj->top = obj->top->next;
        free(willbepoped);
        obj->size--;
    }
    
    
    int minStackTop(MinStack* obj) {
        // if(obj == NULL)
        //     return 1000;
        // if(obj->top == NULL)
        //     return 1000;
        return obj->top->val;
    }
    
    int minStackMin(MinStack* obj) {
        // if(obj == NULL)
        //     return 1000;
        // if(obj->top == NULL)
        //     return 1000;
        return obj->top->min;
    }
    
    void minStackFree(MinStack* obj) {
        free(obj);
    }
    
    /**
     * Your MinStack struct will be instantiated and called as such:
     * MinStack* obj = minStackCreate();
     * minStackPush(obj, x);
     
     * minStackPop(obj);
     
     * int param_3 = minStackTop(obj);
     
     * int param_4 = minStackMin(obj);
     
     * minStackFree(obj);
    */
    
  • 相关阅读:
    抚琴弹唱东流水
    借点阳光给你
    日月成双行影单
    一夜飘雪入冬来
    悼念钱学森
    我的青春谁作主
    重游望江楼有感
    雪后暖阳
    满城尽添黄金装
    敢叫岁月不冬天
  • 原文地址:https://www.cnblogs.com/gallien/p/14333464.html
Copyright © 2011-2022 走看看