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

Строка с забоями

Условие

Символ '#' означает нажатие backspace - стирает предыдущий символ. Верни итоговую строку.

Примеры

cleanString("Прив###ока") // "Пока"
cleanString("###abc") // "abc"
cleanString("abc###") // ""

Как подойти

Стек вместо конструирования строки: удаление с конца строки стоит O(n) на операцию. pop на пустом массиве не бросает, поэтому забои в начале обрабатываются без отдельной ветки. Сравнение двух таких строк за O(1) памяти - отдельная задача, её решают проходом с конца.

Подсказки: 2
  1. Стек: обычный символ кладём, забой снимает.
  2. pop на пустом стеке безопасен - лишние забои просто игнорируются.

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

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