leetcode演算法練習 71 簡化路徑

2021-10-06 07:08:55 字數 1235 閱讀 8793

所有題目源**:git位址

題目

以 unix 風格給出乙個檔案的絕對路徑,你需要簡化它。或者換句話說,將其轉換為規範路徑。

在 unix 風格的檔案系統中,乙個點(.)表示當前目錄本身;此外,兩個點 (.

.) 表示將目錄切換到上一級(指向父目錄);兩者都可以是複雜相對路徑的組成部分。更多資訊請參閱:linux / unix中的絕對路徑 vs 相對路徑

請注意,返回的規範路徑必須始終以斜槓 / 開頭,並且兩個目錄名之間必須只有乙個斜槓 /。最後乙個目錄名(如果存在)不能以 / 結尾。此外,規範路徑必須是表示絕對路徑的最短字串。

示例 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"

方案:棧
class

solution

else

break;}

else

fromindex = nextindex;

if(str.

equals

(".."))

else

if(str.

equals

("."

)|| str.

equals(""

))continue

;else}if

(stack.

isempty()

)return

"/";

stringbuilder stringbuilder =

newstringbuilder()

;while

(!stack.

isempty()

)return stringbuilder.

tostring()

;}}

複雜度計算

leetcode演算法練習

1014.最佳觀光組合 給定正整數陣列 a,a i 表示第 i 個觀光景點的評分,並且兩個景點 i 和 j 之間的距離為 j i。一對景點 i j 組成的觀光組合的得分為 a i a j i j 景點的評分之和減去它們兩者之間的距離。返回一對觀光景點能取得的最高分。示例 輸入 8,1,5,2,6 輸...

leetcode演算法練習

1111.有效括號的巢狀深度 有效括號字串 定義 對於每個左括號,都能找到與之對應的右括號,反之亦然。詳情參見題末 有效括號字串 部分。巢狀深度 depth 定義 即有效括號字串巢狀的層數,depth a 表示有效括號字串 a 的巢狀深度。詳情參見題末 巢狀深度 部分。給你乙個 有效括號字串 seq...

7 1 迴圈練習

1.1 求 1 3 5 7 99 的和值 實現 要求 計算1 100之間的所有的奇數和 1 3 5 7.99 有1個資料,從0變到100 迴圈 int 0 100 從0 100,範圍內,找到奇數 數 2 1 奇數 所有的奇數求和計算 需要變數,儲存奇數的求和 實現步驟 1.程式可以使用到的資料,預先...