addTwoNumber

leetcode--addTwoNumber

(```)

struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){
struct ListNode dummy;
dummy.next = NULL;
struct ListNode *p, *node;
struct ListNode *p1, *p2;
p = &dummy; p1 =l1; p2 = l2;

int cin=0, sum=0;
while(p1 || p2){
    sum = cin;
    if(p1){
        sum += p1->val;
        p1 = p1->next;
    }
    if(p2){
        sum += p2->val;
        p2 = p2->next;
    }
    
    node = (struct ListNode*)malloc(sizeof(struct ListNode));
    node->val = sum % 10;
    node->next = NULL;
    p->next = node;
    p= node;
    
    cin = sum / 10;
    
}
if(cin){
    node = (struct ListNode*)malloc(sizeof(struct ListNode));
    node->val = cin;
    node->next = NULL;
    p->next = node;
    p = node;
}
return dummy.next;

}

(```)

posted @ 2019-09-20 19:39  北小白  阅读(205)  评论(0编辑  收藏  举报