#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param s string字符串 
# @return string字符串
#
class Solution:
    def decodeString(self , s: str) -> str:
        # write code here
        stack,res,multi = [],'',0
        for c in s:
            if c >='0' and c<='9':
                multi = multi*10 + int(c)
            elif c =='[':
                stack.append((multi,res))
                multi = 0
                res = ''
            elif c == ']':
                cur_multi,cur_res = stack.pop()
                res = cur_res+res*cur_multi
            else:
                res += c
        return res