给定一个文档 (Unix-style) 的完全路径,请进行路径简化。
例如,
path = "/home/", => "/home"
path = "/a/./b/../../c/", => "/c"边界情况:
你是否考虑了 路径 = "/../" 的情况? 在这种情况下,你需返回 "/" 。 此外,路径中也可能包含多个斜杠 '/' ,如
"/home//foo/" 。 在这种情况下,你可忽略多余的斜杠,返回 "/home/foo" 。
解决的思路很简单,用栈来解决。正常的路径入栈,‘..’出栈,‘.’忽略
/**
* @param {string} path
* @return {string}
*/
var simplifyPath = function(path) {
var result = ''
var tempPath = []
var paths = path.split('/')
paths.map(val => {
if(val && val === '..') {
tempPath.pop()
}else if(val && val !== '.') {
tempPath.push(val)
}
})
tempPath.length ? result = '/'+tempPath.join('/') : result = '/'
return result
};
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。