Код Junior Реализация с нуля обновлено
Строка с забоями
Условие
Символ '#' означает нажатие backspace - стирает предыдущий символ. Верни итоговую строку.
Примеры
cleanString("Прив###ока") // "Пока"
cleanString("###abc") // "abc"
cleanString("abc###") // ""
Как подойти
Стек вместо конструирования строки: удаление с конца строки стоит O(n) на операцию. pop на пустом массиве не бросает, поэтому забои в начале обрабатываются без отдельной ветки. Сравнение двух таких строк за O(1) памяти - отдельная задача, её решают проходом с конца.
Подсказки: 2
- Стек: обычный символ кладём, забой снимает.
- pop на пустом стеке безопасен - лишние забои просто игнорируются.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.