71 簡化路徑 Leecode C

2021-09-02 18:50:17 字數 1035 閱讀 8971

題目位址簡化路徑

給定乙個文件 (unix-style) 的完全路徑,請進行路徑簡化。

例如,

path = "/home/", => "/home"

path = "/a/./b/../../c/", => "/c"

邊界情況:

你是否考慮了 路徑 ="/../"的情況?

在這種情況下,你需返回 「/」 。

此外,路徑中也可能包含多個斜槓'/',如"/home//foo/"

在這種情況下,你可忽略多餘的斜槓,返回"/home/foo"

當遇到/.的時候什麼也不做

當遇到/..的時候把最後乙個出棧

否則則新增進棧中。最後遍歷一下,如果是空的話,記得返回/

**如下

#include

#include

#include

#include

using namespace std;

class solution

if(nextp - leftp <=1)

sub = path.

substr

(leftp, nextp - leftp);if

(sub ==

"/.."

)else

if(sub !=

"/."

) leftp = nextp;

} vector

::iterator vit = v.

begin()

;for

(;vit != v.

end();

++vit)

return res.

size()

>

0? res:

"/";}}

;int

main()

71 簡化路徑

題目 以 unix 風格給出乙個檔案的絕對路徑,你需要簡化它。或者換句話說,將其轉換為規範路徑。在 unix 風格的檔案系統中,乙個點 表示當前目錄本身 此外,兩個點 表示將目錄切換到上一級 指向父目錄 兩者都可以是複雜相對路徑的組成部分。更多資訊請參閱 linux unix中的絕對路徑 vs 相對...

71 簡化路徑

以 unix 風格給出乙個檔案的絕對路徑,你需要簡化它。或者換句話說,將其轉換為規範路徑。在 unix 風格的檔案系統中,乙個點 表示當前目錄本身 此外,兩個點 表示將目錄切換到上一級 指向父目錄 兩者都可以是複雜相對路徑的組成部分。更多資訊請參閱 linux unix中的絕對路徑 vs 相對路徑 ...

71 簡化路徑

參考文獻 以unix風格給出乙個檔案的絕對路徑,你需要簡化它。或者換句話說,將其轉換為規範路徑。在unix風格的檔案系統中,乙個點 表示當前目錄本身 此外,兩個點 表示將目錄切換到上一級 指向父目錄 兩者都可以是複雜相對路徑的組成部分。更多資訊請參閱 linux unix中的絕對路徑 vs 相對路徑...