Код Middle Стек и монотонный стек обновлено

Нормализация пути

Условие

Упрости абсолютный путь Unix: '/a/./b/../../c/' → '/c'. Лишние слэши убрать, выход выше корня игнорировать.

Примеры

simplifyPath("/a/./b/../../c/") // "/c"
simplifyPath("/../") // "/"
simplifyPath("/home//foo/") // "/home/foo"

Как подойти

Стек сегментов. Пустые куски от двойных слэшей отсеиваются тем же условием, что и точка. pop на пустом массиве не бросает - отдельная проверка не нужна.

Подсказки: 2
  1. Разрежь по слэшу и обрабатывай сегменты стеком.
  2. pop на пустом стеке безопасен - это и есть игнорирование выхода выше корня.

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

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

Термины по теме