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: