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]" Output: "aaabcbc"
Input: s = "3[a2[c]]" Output: "accaccacc"
Input: s = "2[abc]3[cd]ef" Output: "abcabccdcdcdef"
Input: s = "abc3[cd]xyz" Output: "abccdcdcdxyz"
1 <= s.length <= 30
sconsists of lowercase English letters, digits, and square brackets
sis guaranteed to be a valid input.
sare in the range