0
点赞
收藏
分享

微信扫一扫

多节点部署服务实现动态的定时任务。

Mezereon 2023-09-13 阅读 23

每日一题(两数相加)

2. 两数相加 - 力扣(LeetCode)

在这里插入图片描述

思路

代码实现

struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){
    struct ListNode* p1=NULL,   *p2 = NULL, *newhead = NULL,*tail = NULL;
    int pre = 0;
    if(!l1)
    return l2;
    if(!l2)
    return l1;
    p1 = l1;
    p2 = l2;
    while(p1&&p2)
    {
struct ListNode* newnode = (struct ListNode*)malloc(sizeof(struct ListNode));
            newnode->val = (p1->val+p2->val+pre)%10;
            newnode->next = NULL;
        if(newhead == NULL)
        {
            //更新pre(进位)
            pre = (p1->val + p2->val)/10;
            newhead = tail = newnode;
        }
        else
        {
             //更新pre(进位)
            pre = (p1->val + p2->val+pre)/10;
            tail->next = newnode;
            tail = tail->next;
        }
        p1 = p1->next;
        p2 = p2->next;
    }
         
       if(pre)
        {
struct ListNode* newnode = (struct ListNode*)malloc(sizeof(struct ListNode));
        newnode->val = pre;
        newnode->next = NULL;
        tail->next = newnode;
        tail = tail->next;
    }
    return newhead;
}

完结

两数相加的链表习题的分析就到这里啦,若有不足,欢迎评论区指正,下期见!

举报

相关推荐

0 条评论