class Solution:
def decodeString(self, s: str) -> str:
index = 0
def helper():
nonlocal index
res = ''
while index < len(s) and s[index] != ']':
if not s[index].isdigit():
res += s[index]
index += 1
else:
digit = ''
while index < len(s) and s[index].isdigit():
digit += s[index]
index += 1
digit = int(digit)
index += 1
decodedString = helper()
index += 1
if digit > 0:
res = res + digit * decodedString
digit = 0
return res
return helper()