zoukankan      html  css  js  c++  java
  • leetCode

    要求:

    给定一个文档 (Unix-style) 的完全路径,请进行路径简化。

    例如,
    path = "/home/", => "/home"
    path = "/a/./b/../../c/", => "/c"

    边界情况:

    • 你是否考虑了 路径 = "/../" 的情况?在这种情况下,你需返回 "/" 。
    • 此外,路径中也可能包含多个斜杠 '/' ,如 "/home//foo/" 。在这种情况下,你可忽略多余的斜杠,返回 "/home/foo" 。
     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 }
  • 相关阅读:
    触发器
    自定义变量
    系统变量
    Interval 计时器
    Ajax 之 DWR
    cssTest
    Ajax之XMLHttpRequst对象
    添加页面元素
    jquery 基础
    jQuery 自定义动画效果
  • 原文地址:https://www.cnblogs.com/kaisi/p/10178263.html
Copyright © 2011-2022 走看看