/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode *first=NULL;
ListNode *last=NULL;
int jinwei=0;
int cur=0;
if(!l1)
return l2;
if(!l2)
return l1;
while(l1&&l2)
{
int temp=l1->val+l2->val;
l1=l1->next;
l2=l2->next;
temp+=jinwei;
jinwei=temp/10;
cur=temp%10;
ListNode *l=new ListNode(cur);
if(!first)
{
first=l;
last=l;
}else
{
last->next=l;
last=last->next;
}
}
while(l1)
{
int temp=jinwei+l1->val;
l1=l1->next;
jinwei=temp/10;
cur=temp%10;
ListNode *l=new ListNode(cur);
last->next=l;
last=last->next;
}
while(l2)
{
int temp=jinwei+l2->val;
l2=l2->next;
jinwei=temp/10;
cur=temp%10;
ListNode *l=new ListNode(cur);
last->next=l;
last=last->next;
}
if(jinwei!=0)
{
ListNode *l=new ListNode(jinwei);
last->next=l;
last=last->next;
}
return first;
}
};
2. Add Two Numbers
最新推荐文章于 2024-09-07 18:44:11 发布