2. 两数相加(leetcode c++)

    xiaoxiao2022-07-07  175

    /** * 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* head = new ListNode(0); ListNode *p = head; int sum = 0; bool carry = false; while (l1 || l2) { sum = 0; if (l1 != NULL) { sum += l1->val; l1 = l1->next; } if (l2 != NULL) { sum += l2->val; l2 = l2->next; } if (carry) { sum++; } p->next = new ListNode(sum % 10); p = p->next; carry = sum >= 10 ? true : false; } if (carry) { p->next = new ListNode(1); } return head->next; } };
    最新回复(0)