- My first intuition was to use
stackcoz it gave us access to the last
[when we met a
curr !== ], keep adding chars.
curr === ], pop and record tops to
tmp, and stop at
- Then pop nums till
topof stack is not a num string.
tmpn times as the num we’ve found, and push the result to
- Keep doing it, and return
Given an encoded string, return its decoded string.
The encoding rule is:
k[encoded_string], where the
encoded_string inside the square brackets is being repeated exactly
k times. Note that
k is guaranteed to be a positive integer.
You may assume that the input string is always valid; No extra white spaces, square brackets are well-formed, etc.
Furthermore, you may assume that the original data does not contain any digits and that digits are only for those repeat numbers, k. For example, there won’t be input like
Input: s = "3[a]2[bc]"