67. Simplify Path

MediumStack

You are given an absolute path for a Unix-style file system, which always begins with a slash '/'. Transform this absolute path into its simplified canonical path. The rules of a Unix-style file system are as follows: - A single period '.' represents the current directory. - A double period '..' represents the previous/parent directory. - Multiple consecutive slashes such as '//' and '///' are treated as a single slash '/'. - Any sequence of periods that does not match the rules above should be treated as a valid directory or file name. The simplified canonical path should follow these rules: - The path must start with a single slash '/'. - Directories within the path must be separated by exactly one slash '/'. - The path must not end with a slash '/', unless it is the root directory. - The path must not have any single or double periods used to denote current or parent directories. Return the simplified canonical path.

Examples

Input: /a/./b/../../c/

Output: /c

Explanation: Enter a, skip '.', enter b, go up twice (back to root), enter c.

Constraints

  • 1 <= path.length <= 3000
  • path consists of English letters, digits, period '.', slash '/' or '_'.
  • path is a valid absolute Unix path.
Loading...

Run checks all cases above. Submit evaluates all test cases.