题目
/**
* 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* res = new ListNode(0);
ListNode* result =res;
int x=0;int y=0;
while(l1!=NULL||l2!=NULL||y!=0)
{
x=0;
if(l1!=NULL)
x+=l1->val;
if(l2!=NULL)
x+=l2->val;
x+=y;
if(x>=10)
{
y = x/10;
x = x%10;
}
else
{
y=0;
}
result->val =x;
if((l1!=NULL&&l1->next!=NULL)||(l2!=NULL&&l2->next!=NULL)||y!=0)
{
result->next = new ListNode(0);
result = result->next;
}
if(l1!=NULL)
l1=l1->next;
if(l2!=NULL)
l2=l2->next;
}
return res;
}
};