Ctrl K

Удвоить каждый ноль

Лёгкая
Дан массив цифр digits фиксированной длины. Удвойте каждый ноль: сразу после него вставьте ещё один ноль, а все следующие элементы сдвиньте вправо. Длина массива не меняется — всё, что вышло за правый край, отбрасывается. Верните получившийся массив. Попробуйте обойтись без дополнительного массива.
Пример 1
digits=[3, 0, 5, 0, 7, 8] → [3, 0, 0, 5, 0, 0]

Каждый ноль повторяется, и строка сдвигается вправо: [3, 0, 0, 5, 0, 0]. Цифры 7 и 8 вышли за край и пропали.

Пример 2
digits=[4, 1, 0] → [4, 1, 0]

Ноль стоит последним, и его копии места не хватает: массив остаётся [4, 1, 0].

Пример 3
digits=[6, 2, 9] → [6, 2, 9]

Нулей нет — ничего не меняется.

Ограничения
  • 1 ≤ len(digits) ≤ 10⁴
  • 0 ≤ digits[i] ≤ 9
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСжать повторы в отсортированном массиве ЛёгкаяВыкинуть лишнее значение ЛёгкаяСлияние в запасной хвост ЛёгкаяНули в конец ЛёгкаяЗначения в обоих списках Лёгкая
загружаем Python…
Вход
digits=[3, 0, 5, 0, 7, 8]
Ожидается
[3, 0, 0, 5, 0, 0]

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