要求:返回的路徑必須以/
開頭
兩個目錄名之間必須只有乙個/
最後乙個目錄名不能以/
結尾
不能出現兩個..
相連
let result = ;
// 注意使用轉義字元,其實沒有轉義字元也能分割開
let patharr = path.split("\/");
// 遍歷陣列,如果有兩個`.`相連,刪除上級目錄
// 如果兩個`/`之間有乙個`.`,跳過,不處理
// 如果有兩個`/`相連(分割後,兩個`/`之間會產生乙個空陣列元素),
patharr.foreach(val => )
return "/" + result.join("/")
};
// leetcode.71.簡化路徑.策略模式
中新增要校驗的策略規則,並通過// 要求:使用策略模式
// 選擇策略與策略實現分離
// 可復用,彈性充足
// 輸入乙個字串,選擇策略,對字串進行篩選
/*** @param path
* @return
*//*
* 策略模式,分為兩個部分,一部分是存放策略,一部分是存放策略的挑選,執行**。
* 策略的挑選執行要單獨設定乙個類,存放挑選出來的
* */
var simplifypath = function(path)
return value;
},// 兩個目錄名之間必須只有乙個斜槓
雖然出了乙個自己一直沒有辦法解決的錯,但是在實現的過程中,還是對策略模式有了更深的體會。
可以隨時向stageties
vadidator
例項中的方法呼叫校驗規則。
LeetCode 71 簡化路徑(棧)
以 unix 風格給出乙個檔案的絕對路徑,你需要簡化它。或者換句話說,將其轉換為規範路徑。在 unix 風格的檔案系統中,乙個點 表示當前目錄本身 此外,兩個點 表示將目錄切換到上一級 指向父目錄 兩者都可以是複雜相對路徑的組成部分。請注意,返回的規範路徑必須始終以斜槓 開頭,並且兩個目錄名之間必須...
LeetCode 71 簡化路徑
題目鏈結 題目描述 給定乙個文件 unix style 的完全路徑,請進行路徑簡化。例如,path home home path a b c c 邊界情況 解決方法 2 如果是 則需要出棧 如果棧為空則不操作 因為這是返回上級目錄的符號 3 其他情況壓棧 class solution else p....
leetcode71 簡化路徑
給定乙個文件 unix style 的完全路徑,請進行路徑簡化。例如,path home home path a b c c 邊界情況 你是否考慮了 路徑 的情況?在這種情況下,你需返回 此外,路徑中也可能包含多個斜槓 如 home foo 在這種情況下,你可忽略多餘的斜槓,返回 home foo ...