这道题比较简单,主要注意下进位情况就可以了。
int flag=0;
ListNode *res=new ListNode(-1),*dummy=res;
while(l1||l2){
int val1=l1?l1->val:0;
int val2=l2?l2->val:0;
int sum=val1+val2+flag;
flag=sum/10;
dummy->next=new ListNode(sum%10);
if(l1)l1=l1->next;
if(l2)l2=l2->next;
}
if(flag)
dummy->next=new ListNode(1);
return res->next;