Тема: Додавання двох чисел у форматі linked list
Є два числа у форматі linked list записані в зворотному порядку, треба їх додати і повернути в тому ж форматі.
Роблю ось так:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        ListNode* new_l1 = l1;
        ListNode* new_l2 = l2;
        int rest { 0 };
        while (new_l1 && new_l2) {
            int item = new_l1->val + new_l2->val + rest;
            if (item < 10) {
                new_l1->val = item;
                rest = 0;
            } else {
                rest = item / 10;
                new_l1->val = item % 10;
            }
            new_l1 = new_l1->next;
            new_l2 = new_l2->next;
        }
        if (new_l2) {
            while (new_l2) {
                int item = new_l2->val + rest;
                if (item < 10) {
                    new_l1 = new ListNode(item);
                    rest = 0;
                } else {
                    rest = item / 10;
                    new_l1 = new ListNode(item % 10);
                }
                new_l2 = new_l2->next;
                new_l1 = new_l1->next;
            }
        } else if(new_l1) {
            while (new_l1) {
                int item = new_l1->val + rest;
                if (item < 10) {
                    new_l1->val = item;
                    rest = 0;
                } else {
                    rest = item /10;
                    new_l1->val = item % 10;
                }
                new_l1 = new_l1->next;
            }
        }
        if (rest > 0) {
            new_l1 = new ListNode(rest);
        }
        return l1;При переліках різної довжини губиться перша цифра числа (остання для переліку).


