Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
- ListNode * head = new ListNode();
- ListNode * itr = head;
- int c = 0;
- while(l1!=NULL && l2!=NULL){
- ListNode * a = new ListNode();
- int sum = l1->val + l2->val + c;
- if(sum>9){
- a->val = sum%10;
- c = 1;
- }
- else{
- a->val = sum;
- c = 0;
- }
- itr->next = a;
- itr = itr->next;
- l1 = l1->next;
- l2 = l2->next;
- }
- if(l2!=NULL){
- while(l2!=NULL){
- ListNode * a = new ListNode();
- int sum = l2->val + c;
- if(sum>9){
- a->val = sum%10;
- c = 1;
- }
- else{
- a->val = sum;
- c = 0;
- }
- itr->next = a;
- itr = itr->next;
- l2 = l2->next;
- }
- }
- if(l1!=NULL){
- while(l1!=NULL){
- ListNode * a = new ListNode();
- int sum = l1->val + c;
- if(sum>9){
- a->val = sum%10;
- c = 1;
- }
- else{
- a->val = sum;
- c = 0;
- }
- itr->next = a;
- itr = itr->next;
- l1 = l1->next;
- }
- }
- if(c==1){
- ListNode * a = new ListNode();
- a->val =c;
- itr->next = a;
- }
- return head->next;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement