In this exercise, you're going to decompress a compressed string.
Your input is a compressed string of the format
number[string] and the decompressed output form should be the
number times. For example:
Would be output as
Number can have more than one digit. For example,
10[a] is allowed, and just means aaaaaaaaaa
One repetition can occur inside another. For example,
2[3[a]b] decompresses into
Characters allowed as input include digits, small English letters and brackets
Digits are only to represent amount of repetitions.
Letters are just letters.
Brackets are only part of syntax of writing repeated substring.
Input is always valid, so no need to check its validity.
This question gives you the chance to practice with strings, recursion, algorithm, compilers, automata, and loops. It’s also an opportunity to work on coding with better efficiency.