LeetCode題解 394 字串解碼

2021-10-02 07:49:21 字數 783 閱讀 1133

由於括號內巢狀括號,與棧的先進後出一致。

class

solution

(object)

: def decodestring

(self, s)

:"""

:type s: str

:rtype: str

"""stack, multi, res =

,0,""

#stack用於實現儲存括號的巢狀關係

#multi用於儲存括號前的係數

#res用於返回結果

for c in s:

if c ==

"[":

#當遇見左括號,用棧儲存[係數,括號前的結果]

stack.

([multi, res]

) multi, res =0,

"" elif c ==

"]":

#把整個括號內的結果取出

curr_multi, curr_res = stack.

pop(-1

) res = curr_res + curr_multi * res

elif c.

isnumeric()

: multi = multi *10+

int(c)

else

: res += c

return res

Leetcode 394 字串解碼

給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為原始資料不包...

LeetCode 394 字串解碼

給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k 次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為原始資料不...

LeetCode 394 字串解碼

給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k 次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為原始資料不...