難度:中等
題目描述:
思路總結:題解一用到了棧,存當前目錄的所有層級的名字,然後每次遇到檔案型別計算當前最長的路徑。具體步驟都在注釋中寫的很詳細。有時間可以做一下不用棧的方法,不過當前的核心任務還是理解並使用棧。
題解一:
class
solution
:def
lengthlongestpath
(self,
input
:str)-
>
int:
#梳理一下思路:我們為每個目錄/檔案新增乙個對應的\t數,然後遍歷每個d/f,如果是檔案,就計算當前最長和歷史最長。(長度計算方法就是計算我們當前棧的大小)
defcal_len
(stack)
: s = stack.copy(
) length =
0while s:
t = s.pop(
) length +=
len(t[0]
)+1#每個目錄和檔案加乙個/
return length-
1#減掉最後的乙個/
stack =
paths =
input
.split(
'\n'
) tmp =
for s in paths:
num = s.count(
'\t'
)(s[num:
], num)
) max_len =
0for t in tmp:
#先把棧頂的所有\t個數比當前大的彈出,也就是目錄更深的彈出,回到當前所在目錄
while stack and stack[-1
][1]
>= t[1]
:#這裡stack[-1]相當於stack.top()
stack.pop()if
'.'in t[0]
: max_len =
max(max_len, cal_len(stack)
)return max_len
題解一結果: 檔案絕對路徑獲取
yourclass.class.getclassloader getresource threadpoolconfig.xml getpath 通過上述方法獲取到的一般是指定檔案的絕對路徑 並且該檔案必須存放在src目錄下 存在的問題 如果絕對路徑中存在空格,getpath取到的值是經過urlenc...
檢視檔案絕對 路徑 認識「路徑」
在我們的日常實際工作中,經常會需要在網頁中插入影象等外部檔案,此時就需要採用 路徑 的方式來指定檔案的位置。路徑可以分為 絕對路徑和相對路徑。絕對路徑 絕對路徑是包括伺服器規範在內的完全路徑。絕對路徑不管原始檔在什麼位置都可以非常精確的找到,除非是目標文件的位置發生變化,否則連線不會失敗。優點 缺點...
絕對路徑 相對路徑 檔案讀寫路徑
一 絕對路徑 能完整描述檔案在磁碟上的位置 1 完整的磁碟路徑 f test a.txt 存在於f盤test資料夾下的a.txt檔案 2 完整的url路徑 也是乙個絕對路徑,網域名稱會指向磁碟的乙個目錄 原博二 相對路徑 首先要確定乙個路徑參考點,其他檔案都是相對於當前檔案位置來確定的。在檔案路徑拓...