最后更新于6年前
主要是对../的处理,返回上一级目录,这种要求要用到栈的性质,栈空表示根目录。先将路径按'/'分割,每次遇到'..'就弹栈(注意栈空时处理),遇到'.'或空白符就跳过,遇到合法字符才入栈。
../
'/'
'..'
'.'
class Solution: def simplifyPath(self, path: str) -> str: stack = [] print(path.split('/')) for p in path.split('/'): if p == '..': if len(stack) > 0: stack.pop() elif p == '' or p == '.': continue else: stack.append(p) return '/' + '/'.join(stack)