首页 > 试题广场 >

Unix路径简化

[编程题]Unix路径简化
  • 热度指数:1824 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
简化 Unix 风格的路径,需要考虑的包括 "/../", "//", "/./" 等情况

输入描述:
Unix 风格的路径


输出描述:
简化后的Unix 风格路径
示例1

输入

/a/./b/../../c/

输出

/c
import re
path_input = input().strip()
dir_stack = []
name_lst = re.split('/+', path_input)
name_lst = [i for i in name_lst if i != '.'and i != '']
for i in name_lst:
    if i != '..':
        dir_stack.append(i)
    else:
        if len(dir_stack) != 0:
            dir_stack.pop()
print('/' + '/'.join(dir_stack))
发表于 2019-04-04 16:53:34 回复(0)