链表的题,考研的时候复习过。
注意的点:链表长度不同、长度相同但最后一位有进位。
不会的点:如何尾插?再看看数据结构。new和Malloc的区别?
int r=0,cur;
ListNode *l,*tail;
//l->next = Null;
//tail->next = Nulll;
l=tail=NULL;
while(l1&&l2)
{
cur = l1->val + l2->val+r;
r = cur/10;
cur = cur%10;
l = new ListNode(cur);
l->next =tail;
tail = l;
l1=l1->next;
l2=l2->next;
}
while(l1)
{
cur = l1->val+r;
r = cur/10;
cur = cur%10;
l =new ListNode(cur);
l->next =tail;
tail = l;
l1= l1->next;
}
while(l2)
{
cur = l2->val+r;
r = cur/10;
cur = cur%10;
l =new ListNode(cur);
l->next =tail;
tail = l;
l2= l2->next;
}
while(r)
{
cur=r;
r = cur/10;
cur = cur%10;
l =new ListNode(cur);
l->next =tail;
tail = l;
}
ListNode *tmp,*it;
tmp=NULL;
while(tail)
{
it = tail;
tail = tail->next;
it->next =tmp;
tmp=it;
}
tail=tmp;
return tail;