leetcode 2:两数相加

ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
     int carry=0;
     ListNode *l4=new ListNode(0);
     ListNode *l3=l4;
     while(l1!=NULL||l2!=NULL){
       int x=(l1!=NULL)?l1->val:0;
       int y=(l2!=NULL)?l2->val:0;
       int sum=carry+x+y;
       carry=sum/10;
       l3->next=new ListNode(sum%10);
       l3=l3->next;
       if(l1!=NULL)l1=l1->next;
       if(l2!=NULL)l2=l2->next;
    }
    if(carry>0){
        l3->next=new ListNode(carry);
    }
    return l4->next;
}

 

相关文章: