---
round: 1
ticket_no: 1
source_no: 31
slug: add-strings
topic: Math / String
difficulty: Easy
leetcode_id: 415
attempted: true
score: 2
verdict: partial
reviewed_at: 2026-09-12
---

# Билет 01 — Add Strings

## Условие (как предъявлено)

Даны два неотрицательных целых числа, заданных строками `num1` и `num2`. Нужно сложить их без преобразования строк в Integer и без встроенной длинной арифметики; вернуть сумму в виде строки.

```
Input:  num1 = "11",  num2 = "123"  →  "134"
Input:  num1 = "456", num2 = "77"   →  "533"
```

## Ответ

> Здесь нужно применить алгоритм сложения в столбик, то есть нужно поставить указатели, ну, создать строку, которая у нас будет накапливать результат. Вот. И дальше мы, ну, это будет, ну да, строка. Дальше мы, получается, с правой стороны идём по одному числу. То есть, у нас указатели с каждого числа идёт. Мы храним позицию и идём по одному числу. Берём первое число. Вот одну цифру мы преобразуем к интижеру, вот дальше их складываем, делим на десяток, с остатком получаем остаток отделения 10. Вот, и накапливаем остаток. Это как бы то, что у нас в уме находится. И дальше сдвигаем указатель. И в следующий раз мы складываем не только уже текущие цифры, но ещё то, что у нас в остатке оставалось. Накапливаем это всё, результирующее число в строку. Потом надо не забыть её реверсировать.

## Разбор

**Что верно:** сложение в столбик: два указателя с конца строк, перенос в следующий разряд, сборка результата и разворот в конце.

**Что упущено и ошибки:** не названа сложность; не проговорена разная длина строк (когда указатель вышел за границу — цифра 0, цикл до max(n, m)); перенос после последнего разряда; ведущие нули.

**Эталонная идея:** два указателя с конца, digit = carry + цифра_а + цифра_b (0, если указатель вышел), carry = digit / 10, в результат — digit % 10, в конце reverse.

**Сложность:** время O(max(n, m)), память O(max(n, m))

**Критерии:** идея ✅ · структура данных ✅ · сложность ❌ · граничные случаи ⚠️


**Разбор задачи:** [`../../algo-solutions/02-extra/06-math-string-simulation/31-add-strings.md`](../../algo-solutions/02-extra/06-math-string-simulation/31-add-strings.md)
