leetCode - 简化路径(Swift实现)
发布时间:2020-12-14 05:08:35 所属栏目:百科 来源:网络整理
导读:要求: 给定一个文档 (Unix-style) 的完全路径,请进行路径简化。 例如, path?=? "/home/" ,=? "/home" path?=? "/a/./b/../../c/" ,=? "/c" 边界情况: 你是否考虑了 路径 =? "/../" ?的情况?在这种情况下,你需返回 "/" 。 此外,路径中也可能包含多个斜
要求:给定一个文档 (Unix-style) 的完全路径,请进行路径简化。 例如, 边界情况:
1 class Solution { 2 func simplifyPath(_ path: String) -> String { 3 var stack = [String]() 4 let paths = path.components(separatedBy: "/") 5 for path in paths { 6 guard path != "." else { 7 continue 8 } 9 10 if path == ".." { 11 if stack.count > 0 { 12 stack .removeLast() 13 } 14 }else if path != "" { 15 stack.append(path) 16 } 17 } 18 19 let result = stack.reduce("") { (total,dir) in 20 return "(total)/(dir)" 21 } 22 23 return result.isEmpty ? "/": result 24 } 25 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |