1. 程式人生 > >Leetcode 71 簡化路徑simplify-path(棧)

Leetcode 71 簡化路徑simplify-path(棧)

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

例如, path = “/home/”, => “/home” path = “/a/./b/../../c/”, => “/c”

邊界情況:

你是否考慮了 路徑 = “/../” 的情況? 在這種情況下,你需返回 “/” 。 此外,路徑中也可能包含多個斜槓 ‘/’ ,如 “/home//foo/” 。

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

可得到路徑簡化規則:

末尾‘/’刪除; 不重複出現‘/’; ‘/./’刪除; ‘/../’連並前個路徑一起刪除;

思路:可以根據’/’把路徑分割成多個元素,根據規則壓入棧中,最後用‘/’拼接;

首先是分割,不想python等的高階語言有split可以直接分割;但是可以用stringstream+getline實現分割功能;