Задачи
December 5, 2021

Анонс. Упростить относительный путь

Задача. Дан строковый путь, который представляет собой абсолютный путь (начинается с символа '/') к файлу или папке в файловой системе в стиле Unix. Необходимо упростить этот путь.

Справка
В файловой системе в стиле Unix точка '.' относится к текущему каталогу, двойная точка «..» относится к папке более высокого уровня, а любые несколько последовательных косых черт обрабатываются как одиночная косая черта «/». Любые другие форматы точек, такие как «...», рассматриваются как имена файлов или папок.

Упрощенный путь должен иметь следующий формат:

  • Путь начинается с косой черты '/'.
  • Любые две папке разделяются одинарной косой чертой '/'.
  • Путь не заканчивается символом '/'.
  • Путь содержит только папки на пути от корневой папки к целевому файлу или папки (т.е. без точки '.' или двойной точки '..')

Входные данные: path - строка, которая содержит только символы английского алфавита, символы '.', '/'. Размер строки от 1 до 3 тыс.символов.

Вывод: упрощенный путь исходной строки.

Примеры:

1. path = "/home/"
Output: "/home"

2. path = "/../"
Output: "/"

3. path = "/a/./b/../../c/"
Output: "/c"