美图

在原有的基础上增加对 cd - 的处理。
在 Unix 命令中,cd - 表示返回上一次所在的目录。我们可以使用一个变量来记录上一次所在的目录,在遇到 cd - 时将当前目录设置为上一次所在的目录。
以下是增加对 cd - 的处理后的代码:
4
cd /aa/bb/cc/dd/
cd ./ee/ff
cd gg/../hh
cd ./tt
cd -
函数输出:
/aa/bb/cc/dd/ee/ff/hh
def simplify_path(num: int, paths: List[str]) -> str:
stack = []
prev_dir = ''
for path in paths:
if path.startswith('/'):
stack = []
path = path[1:]
elif path == '-':
path = prev_dir
parts = path.split('/')
for part in parts:
if part == '..':
if stack:
stack.pop()
elif part != '.' and part:
stack.append(part)
prev_dir = '/' + '/'.join(stack)
return prev_dir
num = int(input())
paths = [input().strip() for _ in range(num)]
result = simplify_path(num, paths)
print(result)
在代码中,我们增加了一个 prev_dir 变量来记录上一次所在的目录。当遇到 cd - 命令时,将当前目录设置为上一次所在的目录。然后,对于其他情况,我们可以继续使用栈来存储目录,并记录当前目录的完整路径。最后,返回上一次所在目录的完整路径即可。








![LeetCode[912]排序数组](https://img-blog.csdnimg.cn/7034baa5a8204b4caf4057f0a9ea3a75.png)








![ruoyi若依 组织架构设计--[ 部门管理 ]](https://img-blog.csdnimg.cn/0389c003bf1c4abbbe570c0f0ae52355.png)

