知识点

栈 字符串

思路

建立一个每层名字的栈,把原串按照/进行分割。

如果遇到空串或者. 则可以跳过

如果遇到.. 若栈非空则抛出栈顶

如果其他情况则压栈

最后把整个栈连起来即可

AC Code (python)

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param path string字符串 
# @return string字符串
#
class Solution:
    def find_dangerous_cow_path(self , path: str) -> str:
        stk = []
        for x in path.split('/'):
            if not x: continue
            if x == '.':
                continue
            if x == '..':
                if stk: stk.pop()
                continue
            stk.append(x)
        
        return '/' + '/'.join(stk)