LeeCode-02

ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
int t = 0, a = 0, b = 0;
ListNode *l3 = nullptr, *tail = nullptr;
while (l1 || l2) {
a = l1?l1->val:0;
b = l2?l2->val:0;

    t = a + b + t;
    if (l3 == nullptr) {
        l3 = tail = new ListNode(t % 10);
    } else {
        tail->next = new ListNode(t % 10);
        tail = tail->next;
    }
    t = t / 10;
    if (l1) {
        l1 = l1->next;
    }
    if (l2) {
        l2 = l2->next;
    }
}
if (t > 0) {
    tail->next = new ListNode(t);
}
return l3;

}

你可能感兴趣的:(LeeCode-02)