华为OD面试 – Java中简易Linux路径解析技巧

题目描述

某简易的 linux 目录系统 cd 命令(change directory)功能如下:

  • cd:进入 home 目录 /home/user
  • cd -:进入上一次停留的目录(连续两个以上 cd – 会在两个目录之间来回跳转,而不是回到更早之前的目录)
  • cd <绝对路径>:以 / 开头的为绝对路径
  • cd <相对路径>:不以 / 开头的为相对路径
  • 现给定一批 cd 命令,命令格式及相关假设如下:

  • 单独的 / 表示根目录,且为系统默认的初始目录
  • //a 表示目录 /a,即这种格式中的多个 / 等价于一个 / 
  • 特殊目录 . ,表示当前层次目录,例如 /a/. 表示目录 /a
  • 特殊目录 .. ,表示当前层次目录的父目录(根目录的父目录仍为根),例如 /a/.. 表示目录 /
  • 假设不会出现第一个命令为 cd – 的情况
  • 请计算所有命令执行结束后的最终目录,并格式化输出其绝对路径:

  • 必须以 / 开头,不以 / 结尾(除根目录外)
  • 不允许特殊目
  • 作者:伏城之外

    物联沃分享整理
    物联沃-IOTWORD物联网 » 华为OD面试 – Java中简易Linux路径解析技巧

    发表回复