題目code
/** * 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; } };