每日一題力扣71

2022-07-02 16:18:09 字數 824 閱讀 2856

給你乙個字串 path ,表示指向某一檔案或目錄的 unix 風格 絕對路徑 (以 '/' 開頭),請你將其轉化為更加簡潔的規範路徑。

在 unix 風格的檔案系統中,乙個點(.)表示當前目錄本身;此外,兩個點 (..) 表示將目錄切換到上一級(指向父目錄);兩者都可以是複雜相對路徑的組成部分。任意多個連續的斜槓(即,'//')都被視為單個斜槓 '/' 。 對於此問題,任何其他格式的點(例如,'...')均被視為檔案/目錄名稱。

請注意,返回的 規範路徑 必須遵循下述格式:

始終以斜槓 '/' 開頭。

兩個目錄名之間必須只有乙個斜槓 '/' 。

最後乙個目錄名(如果存在)不能 以 '/' 結尾。

此外,路徑僅包含從根目錄到目標檔案或目錄的路徑上的目錄(即,不含 '.' 或 '..')。

返回簡化後得到的 規範路徑 。

class

solution:

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...