Код Senior Реализация с нуля обновлено

Сложение больших чисел строками

Условие

Два неотрицательных целых числа заданы строками произвольной длины. Верни их сумму строкой. Number и BigInt использовать нельзя.

Примеры

sumBigStrings("90071992547409918889", "1489") // "90071992547409920378"
sumBigStrings("999", "1") // "1000"
sumBigStrings("0", "0") // "0"

Как подойти

Числа за пределами 2^53−1 в JS теряют точность, поэтому арифметика строками - не искусственное упражнение: так приходят идентификаторы и суммы с бэкенда. Условие цикла i >= 0 || j >= 0 || carry закрывает разом разную длину и финальный перенос. BigInt решает задачу в одну строку - назови его как правильный промышленный ответ, но покажи, что умеешь и руками.

Подсказки: 3
  1. Складывай с младших разрядов, как в столбик.
  2. Цикл идёт, пока есть цифры хоть в одном числе или незакрытый перенос.
  3. Код символа минус 48 даёт цифру без преобразования типов.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.