lintcode: 421. 簡化路徑
利用 stack 棧
乙個點(.
)表示當前目錄本身;此外,兩個點 (..
) 表示將目錄切換到上一級(指向父目錄);
輸入
"/a/./../../c/"
輸出 "/c"
期望答案
"/c"
. /./
./可以理解成無用的,我們只需要關心 ../
../..
/ 返回上一級,即將上乙個壓入棧的目錄名字彈出棧
ac code
public
class
solution
elseif(
!str.
equals
("."
)&& str.
length()
>0)
str ="";
}else
}// 取出結果
while
(!stack.
isempty()
)return sb.
length()
>
0? sb.
tostring()
:"/";}
}
棧 71 簡化路徑
以 unix 風格給出乙個檔案的絕對路徑,你需要簡化它。或者換句話說,將其轉換為規範路徑。在 unix 風格的檔案系統中,乙個點 表示當前目錄本身 此外,兩個點 表示將目錄切換到上一級 指向父目錄 兩者都可以是複雜相對路徑的組成部分。更多資訊請參閱 linux unix中的絕對路徑 vs 相對路徑 ...
LeetCode 71 簡化路徑(棧)
以 unix 風格給出乙個檔案的絕對路徑,你需要簡化它。或者換句話說,將其轉換為規範路徑。在 unix 風格的檔案系統中,乙個點 表示當前目錄本身 此外,兩個點 表示將目錄切換到上一級 指向父目錄 兩者都可以是複雜相對路徑的組成部分。請注意,返回的規範路徑必須始終以斜槓 開頭,並且兩個目錄名之間必須...
Leetcode 71 棧 簡化路徑 策略模式
要求 返回的路徑必須以 開頭 兩個目錄名之間必須只有乙個 最後乙個目錄名不能以 結尾 不能出現兩個.相連 let result 注意使用轉義字元,其實沒有轉義字元也能分割開 let patharr path.split 遍歷陣列,如果有兩個 相連,刪除上級目錄 如果兩個 之間有乙個 跳過,不處理 如...