棧的應用 字串解碼

2021-10-10 07:08:22 字數 540 閱讀 8632

題目:給定乙個字串,只包含小寫字母、數字和"";數字和""一定滿足格式:k[abc];且組合可巢狀;要求輸出解碼字串

例:輸入:"abc3[d2[mn]]"

輸出:"abcdmnmndmnmndmnmn"

思路:遇到"["入棧,遇到"]"出棧;

初始化兩個棧,乙個存倍數,乙個存[入棧前的結果作為字首。

遇到]後,則將倍數出棧,並把當前區間內的字串迴圈拼接成臨時串;並且把字首出棧,拼接完乙個prefix+multi*[tmpres]

func decodestring(s string) string 

if s[i] >= 'a' && s[i] <= 'z'

if s[i] == '['

} if s[i] == ']'

curprefix := prefixs[len(prefixs)-1]

prefixs = prefixs[:len(prefixs)-1]

} }return string(res)

}

LeetCode 字串解碼(棧輔助)

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

字串解碼

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

字串解碼

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