更新时间:2021-12-20 05:52:48
描述
给定一个文件的绝对路径(Unix-style),请进行路径简化。
Unix中, . 表示当前目录, .. 表示父目录。
结果必须以 / 开头,并且两个目录名之间有且只有一个 /。最后一个目录名(如果存在)后不能出现 / 。你需要保证结果是正确表示路径的最短的字符串。
在线评测地址:领扣题库官网
样例1
输入: "/home/"
输出: "/home"
样例2
输入: "/a/./../../c/"
输出: "/c"
解释: "/" 没有上级目录, "/../" 的结果就是 "/".
用栈处理即可
将原字符串以 '/' 分隔, 然后遍历:
class Solution:
"""
@param path: the original path
@return: the simplified path
"""
def simplifyPath(self, path):
path = path.split('/')
stack = []
for i in path:
if i == '..':
if len(stack):
stack.pop()
elif i != '.' and i != '':
stack.append(i)
return '/' + '/'.join(stack)