CodeACM
HOT 100 · 栈 · LC 394

字符串解码:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给定一个经过编码的字符串,返回它解码后的字符串。

编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。

你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。

此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。

测试用例保证输出的长度不会超过 10⁵。

输入格式

输入一行合法编码字符串 s。

输出格式

输出完整解码后的字符串。

数据范围

  • 1 ≤ s.length ≤ 30
  • 1 ≤ 重复次数 ≤ 300
  • 解码结果长度不超过 10⁵

公开样例

样例 1

输入

3[a]2[bc]

输出

aaabcbc

a 重复三次,bc 重复两次。

样例 2

输入

3[a2[c]]

输出

accaccacc

先解码内层 2[c]。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。