Given an absolute path for a file (Unix-style), simplify it.
For example,
path = "/home/"
, => "/home"
path = "/a/./b/../../c/"
, => "/c"
思路:本题要先按"/"将字符串切分开,并且把"."和""滤除,然后维护一个栈,当".."时出栈,其他时候入栈
class Solution(object):
def simplifyPath(self, path):
"""
:type path: str
:rtype: str
"""
places = [p for p in path.split("/") if p != "." and p != ""]
stack = []
for p in places:
if p == "..":
if len(stack)>0:
stack.pop()
else:
stack.append(p)
return "/"+"/".join(stack)