Что означает «Определение списка со сложными связями» и делает ли это строго необходимым в задаче «Добавить два числа»? - PullRequest
0 голосов
/ 09 января 2019

У меня проблемы с вводом моей программы в код Leet. Я считаю, что мой код правильный, но эти ключевые слова необходимы:

this.val = val;
this.next = null;

Q. Вам даны два непустых связанных списка, представляющих два неотрицательных целых числа. Цифры хранятся в обратном порядке, и каждый из их узлов содержит одну цифру. Добавьте два числа и верните их в виде связанного списка.

Можно предположить, что два числа не содержат начального нуля, кроме самого числа 0.

Пример:

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807.

function addTwoNumbers(l1, l2) {
    list1 = l1;
    list2 = l2;
    for (let i = 0; i < list1.length; i++) {
        let newNum1 = (l1[i] * 100) + (l1[i + 1] * 10) + (l1[i + 2] * 1);
        let newNum2 = (l2[i] * 100) + (l2[i + 1] * 10) + (l2[i + 2] * 1);
        result = newNum1 + newNum2;

        result = Array.from(result.toString().split("").reverse().join(""));
        let newArr = [];
        for(let i = 0; i < 3; i++) {
            newArr.push((Number(result[i])));
        }
        return newArr;
    }
}

console.log(addTwoNumbers([2, 4, 3], [5, 6, 4]));
// [3,4,2] + [4,6,5] = [8,0,7] --> [7,0,8]

Как видите, мой результат - массив чисел, который отражает реверсирование двух массивов, их суммирование, а затем реверсирование.

Вот ссылка на leetcode.com: https://leetcode.com/problems/add-two-numbers/

...