C++代码:
if(l1==NULL)
{
return l2;
}
else if(l2==NULL)
{
return l1;
}
else
{
ListNode*l3=l1;
while(l1->next!=NULL&&l2->next!=NULL)
{
l1->val+=l2->val;
l1=l1->next;
l2=l2->next;
}
l1->val+=l2->val;
if(l1->next==NULL&&l2->next!=NULL)
{
l1->next=l2->next;
}
l1=l3;
while(l1->next!=NULL)
{
if(l1->val>=10)
{
l1->val-=10;
l1->next->val+=1;
}
l1=l1->next;
}
if(l1->val>=10)
{
l1->val-=10;
l1->next=new ListNode(1);
}
return l3;
}
先加数,再判断是否进位。