Ctrl K

Сумма списков-чисел, старшие разряды впереди

Средняя
Два неотрицательных целых числа записаны в односвязных списках first и second: каждый узел хранит одну цифру, и цифры идут от старшего разряда к младшему, как число пишется на бумаге. Например, 503 записано как 5 → 0 → 3. Верните сумму этих чисел в виде такого же списка, тоже от старшего разряда к младшему. Оба списка непустые, ведущих нулей нет — кроме самого числа 0, записанного одним узлом. Попробуйте обойтись без разворота входных списков.
Пример 1
first=list_node([3, 0, 8]), second=list_node([9, 5]) → [4, 0, 3]

Списки задают числа 308 и 95; 308 + 95 = 403.

Пример 2
first=list_node([9, 9, 9]), second=list_node([2]) → [1, 0, 0, 1]

999 + 2 = 1001: перенос проходит через все разряды, и у результата появляется новый старший разряд.

Пример 3
first=list_node([0]), second=list_node([6, 1]) → [6, 1]

0 + 61 = 61.

Ограничения
  • В каждом списке от 1 до 100 узлов
  • 0 ≤ Node.val ≤ 9
  • Первый узел не равен 0, если в списке больше одного узла
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиУдвоить число в цепочке СредняяСложение чисел-списков СредняяДерево в правую цепочку СредняяСписок, сложенный с двух концов СредняяПостфиксный калькулятор Средняя
загружаем Python…
Вход
first=list_node([3, 0, 8]), second=list_node([9, 5])
Ожидается
[4, 0, 3]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 62 теста на сервере, включая скрытые.