五月集训(第十二天)链表

五月集训(第十二天)链表,第1张

题1.1290. 二进制链表转整数

只看了前两个示例,没发现是倒转的......

int getDecimalValue(struct ListNode* head){
    struct ListNode* p;
    p = head; 
    int sum = 0;
    while(p){
        sum = sum * 2 + p->val;
        p = p->next;
    }
    return sum;
}

题2.237. 删除链表中的节点

 看第一眼蒙了,然后想到复制后面的节点......然后才想到把给的节点当前驱,复制后面的节点之后把后面的free了。

void deleteNode(struct ListNode* node) {
    struct ListNode* p;
    p = node->next;
    node->val = p->val;
    node->next = p->next ;
    free(p);
}

题3.​​​​​​剑指 Offer II 024. 反转链表

struct ListNode* reverseList(struct ListNode* head){
    struct ListNode* pre = NULL;
    struct ListNode* p = head;
    while(p){
       struct ListNode* tmp;
        tmp = p->next;
        p->next = pre;
        pre = p;
        p = tmp;
    } 
    return pre;
}

题4.1019. 链表中的下一个更大节点

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/914754.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存