參考資訊:
https://www.cnblogs.com/grandyang/p/4129891.html
題目:

解答:
class Solution {
public:
ListNode* addTwoNumbers(ListNode *l1, ListNode *l2) {
int carry = 0;
ListNode *r = new ListNode(0, 0);
ListNode *cur = r;
while (l1 || l2) {
int v1 = l1 ? l1->val : 0;
int v2 = l2 ? l2->val : 0;
int sum = v1 + v2 + carry;
carry = sum / 10;
cur->next = new ListNode(sum % 10, 0);
cur = cur->next;
if (l1) {
l1 = l1->next;
}
if (l2) {
l2 = l2->next;
}
}
if (carry) {
cur->next = new ListNode(1, 0);
}
return r->next;
}
};