2.jpg

    代码 :

    1. class Solution {
    2. public:
    3. ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
    4. auto dummy = new ListNode(-1);
    5. auto ptr = dummy;
    6. int carry = 0;
    7. while(l1 || l2) {
    8. int num1 = l1 != NULL ? l1->val : 0;
    9. int num2 = l2 != NULL ? l2->val : 0;
    10. int sum = num1 + num2 + carry;
    11. ptr->next = new ListNode(sum % 10);
    12. ptr = ptr->next;
    13. carry = sum / 10;
    14. if(l1) l1 = l1->next;
    15. if(l2) l2 = l2->next;
    16. }
    17. if(carry)
    18. ptr->next = new ListNode(1);
    19. return dummy->next;
    20. }
    21. };