设想一种字符串编码方式:对于形如 k[encodedstring] 的片段,它表示将方括号内部的 encodedstring 连续书写 k 次。这里的 k 始终是一个正整数。这种结构可以嵌套出现,也就是说 encodedstring 本身还可能包含同样形式的方括号重复片段。
现在给定一个按照该规则编码得到的字符串,请还原它解码后的原始字符串。
输入编码串保证是有效的:方括号一定正确匹配,字符串中不存在多余空格;同时原始字符串中不会出现数字,编码串中的数字只用来表示紧随其后的方括号重复次数,无需考虑非法输入情况。
约束条件:
s 的长度在 1 到 30 之间。s 仅由小写英文字母、数字以及方括号 [ 和 ] 组成。s 保证是有效的输入。s 中所有整数的取值范围为 1 到 300。输入包含一个参数:
s:一个字符串,表示待解码的编码字符串。返回一个字符串,表示解码后得到的原始字符串。
输入
2[3[a]b]
输出
aaabaaab
说明
内层数字 3 将方括号内的 a 重复 3 次,得到 aaa。
把 aaa 和后面的 b 拼接为 aaab。
外层数字 2 再将 aaab 重复 2 次,最终为 aaabaaab。
输入
12[a]
输出
aaaaaaaaaaaa
说明
数字 12 将方括号内的 a 重复 12 次。
因此输出由 12 个连续的 a 组成,即 aaaaaaaaaaaa。
输入
a
输出
a
说明
输入只含单个字母 a,没有数字和方括号,因此不需要重复解码,结果仍为 a。这是长度为 1 的最小规模情况。
输入
a2[b3[c]]
输出
abcccbccc
说明
内层数字 3 将 c 重复 3 次,得到 ccc。字母 b 与 ccc 拼接得到 bccc。
外层数字 2 将 bccc 重复 2 次,得到 bcccbccc。
最前面的 a 不参与重复,直接保留,最终输出为 abcccbccc。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册