給你乙個字串 path ,表示指向某一檔案或目錄的 unix 風格 絕對路徑 (以 '/' 開頭),請你將其轉化為更加簡潔的規範路徑。
在 unix 風格的檔案系統中,乙個點(.)表示當前目錄本身;此外,兩個點 (..) 表示將目錄切換到上一級(指向父目錄);兩者都可以是複雜相對路徑的組成部分。任意多個連續的斜槓(即,'//')都被視為單個斜槓 '/' 。 對於此問題,任何其他格式的點(例如,'...')均被視為檔案/目錄名稱。
請注意,返回的 規範路徑 必須遵循下述格式:
始終以斜槓 '/' 開頭。
兩個目錄名之間必須只有乙個斜槓 '/' 。
最後乙個目錄名(如果存在)不能 以 '/' 結尾。
此外,路徑僅包含從根目錄到目標檔案或目錄的路徑上的目錄(即,不含 '.' 或 '..')。
返回簡化後得到的 規範路徑 。
classsolution:
def simplifypath(self, path: str) ->str:
stack =
path = path.split("/"
)
for item in
path:
if item == "
..":#
如果後面的是兩個點,且前乙個不為空,就不要了,說明中間還有很長的路
ifstack : stack.pop()
elif item and item != "
.":#
只要item不為空且不是點,就壓入
return"/
" + "
/".join(stack)
每日一題 力扣 計畫
98 驗證二叉搜尋樹 問題給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 1.節點的左子樹只包含小於當前節點的數。2.節點的右子樹只包含大於當前節點的數。3.所有左子樹和右子樹自身必須也是二叉搜尋樹。示例 1 輸入 2 1 3 輸出 true示例2 輸入 5 1 4...
力扣每日一題 6 14
1300 轉變陣列後最接近目標值的陣列和 給你乙個整數陣列 arr 和乙個目標值 target 請你返回乙個整數 value 使得將陣列中所有大於 value 的值變成 value 後,陣列的和最接近 target 最接近表示兩者之差的絕對值最小 如果有多種使得和最接近 target 的方案,請你返...
每日一題力扣48
給定乙個 n n 的二維矩陣 matrix 表示乙個影象。請你將影象順時針旋轉 90 度。你必須在 原地 旋轉影象,這意味著你需要直接修改輸入的二維矩陣。請不要 使用另乙個矩陣來旋轉影象。正解 旋轉90度就是,先鏡面對稱,再轉置即可 class solution defrotate self,mat...