题目描述
为了提升数据传输的效率,会对传输的报文进行压缩处理。
输入一个压缩后的报文,请返回它解压后的原始报文。
压缩规则:n[str],表示方括号内部的 str 正好重复 n 次。
注意 n 为正整数(0 < n <= 100),str只包含小写英文字母,不考虑异常情况。
输入描述
输入压缩后的报文:
1)不考虑无效的输入,报文没有额外的空格,方括号总是符合格式要求的;
2)原始报文不包含数字,所有的数字只表示重复的次数 n ,例如不会出现像 5b 或 3[8] 的输入;
输出描述
解压后的原始报文
注:
1)原始报文长度不会超过1000,不考虑异常的情况
示例1
输入
3[m2[c]]
1
输出
mccmccmcc
1
说明
m2[c] 解压缩后为 mcc,重复三次为 mccmccmcc
示例2
输入
10[k]2[mn3[j2[op]]]
1
输出
kkkkkkkkkkmnjopopjopopjopopmnjopopjopopjopop
1
解题思路
这道题是字符串处理的问题,同时字符串中嵌套括号,根据嵌套的括号进行报文解压缩,
很容易想到用栈去解决问题。