Search⌘ K
AI Features

Solution: Simplify Path

Explore how to simplify Unix-style absolute file paths by applying a stack-based approach. Learn to parse and interpret directory components, handle current and parent directory symbols, and construct a clean canonical path. This lesson guides you through iterative path processing and reinforcing stack fundamentals.

Statement

Given an absolute path for a Unix-style file system (always beginning with '/'), transform it into its simplified canonical form.

The Unix-style file system follows these rules:

  • A single period '.' represents the current directory.

  • A double period '..' represents the parent directory.

  • Multiple consecutive slashes (e.g., '//' or '///') are treated as a single slash '/'.

  • Any sequence of periods that does not match the above rules is treated as a valid directory or file name (e.g., '...' and '....' are valid names).

The resulting canonical path must satisfy the following:

  • It must begin with a single slash '/'.

  • Directories must be separated by exactly one slash '/'.

  • It must not end with a trailing slash '/', unless it is the root directory.

  • It must not contain any '.' or '..' components used to denote current or parent directories.

Return the simplified canonical path.

Constraints:

  • 11 \leq ...