1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* cur = new ListNode(-1); ListNode* p = cur; int carry = 0; while(l1 != nullptr || l2 != nullptr || carry !=0) { if(l1 != nullptr) { carry += l1->val; l1 = l1->next; } if(12 != nullptr) { carry += l2->val; l2 = l2->next; } p->next = new ListNode(carry%10); p = p->next; carry = carry/10; } return cur->next; }
|