Leetcode_2

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) {
    if(l1==NULL&&l2==NULL)
        return NULL;
    struct ListNode* operationNode =(struct ListNode*)malloc(sizeof(struct ListNode));
    struct ListNode* originalNode=operationNode;
    bool updateBit=false;
    int val=0;
    while(l1||l2){
        if(l1){
            val+=l1->val;
            l1=l1->next;
        }
        if(l2){
            val+=l2->val;
            l2=l2->next;
        }
        if(updateBit){
            val+=1;
        }
        if(val/10) updateBit=true;
        else updateBit=false;
        operationNode->val=val%10;
        operationNode->next=NULL;
        if(l1||l2){
            operationNode->next=(struct ListNode*)malloc(sizeof(struct ListNode));
            operationNode=operationNode->next;
            operationNode->val=0;
            operationNode->next=NULL;
        }
        else if(updateBit){
            operationNode->next=(struct ListNode*)malloc(sizeof(struct ListNode));
            operationNode=operationNode->next;
            operationNode->val=1;
            operationNode->next=NULL;
        }
        val=0;
    }
    return originalNode;
}






阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LifeToughLoveEasy/article/details/52367033
文章标签: C leetcode
个人分类: LeetCode
上一篇LeetCode_1
下一篇Leetcode_3
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭