LeetCode 71. 简化路径(栈)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 71. 简化路径(栈)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
以 Unix 風格給出一個文件的絕對路徑,你需要簡化它。或者換句話說,將其轉換為規范路徑。
在 Unix 風格的文件系統中,一個點(.)表示當前目錄本身;此外,兩個點 (..) 表示將目錄切換到上一級(指向父目錄);兩者都可以是復雜相對路徑的組成部分。
請注意,返回的規范路徑必須始終以斜杠 / 開頭,并且兩個目錄名之間必須只有一個斜杠 /。最后一個目錄名(如果存在)不能以 / 結尾。此外,規范路徑必須是表示絕對路徑的最短字符串。
示例 1: 輸入:"/home/" 輸出:"/home" 解釋:注意,最后一個目錄名后面沒有斜杠。示例 2: 輸入:"/../" 輸出:"/" 解釋:從根目錄向上一級是不可行的,因為根是你可以到達的最高級。示例 3: 輸入:"/home//foo/" 輸出:"/home/foo" 解釋:在規范路徑中,多個連續斜杠需要用一個斜杠替換。示例 4: 輸入:"/a/./b/../../c/" 輸出:"/c"示例 5: 輸入:"/a/../../b/../c//.//" 輸出:"/c"示例 6: 輸入:"/a//bc/d//././/.." 輸出:"/a/b/c"來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/simplify-path
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 棧解題
- 需要考慮四種情況 /,.,..,其他
- 用棧來記錄路徑,遇到..彈棧,遇到其他壓棧
總結
以上是生活随笔為你收集整理的LeetCode 71. 简化路径(栈)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1409. 查询带键的
- 下一篇: 程序员面试金典 - 面试题 05.02.