Question
Given an absolute path for a file (Unix-style), simplify it.
For example,
path =
"/home/"
, =>"/home"
`path =
"/a/./b/../../c/"
, =>"/c"
Corner Cases:
- Did you consider the case where path =
"/../"
?In this case, you should return
"/"
.
- Another corner case is the path might contain multiple slashes
'/'
together, such as"/home//foo/"
.In this case, you should ignore redundant slashes and return
"/home/foo"
.
Solution
Result: Accepted Time: 52 ms
Here should be some explanations.
class Solution(object):
def simplifyPath(self, path):
"""
:type path: str
:rtype: str
"""
lst =[x for x in path.split('/') if x !='.'];
ret = []
for x in lst:
if x == '..':
if len(ret) > 0:
ret.pop()
elif x:
ret.append(x)
return '/'+'/'.join(ret)
Complexity Analytics
- Time Complexity:
- Space Complexity: