
迭代
python
class Solution:
def decodeString(self, s: str) -> str:
stack = []
multi = 0
res = ""
for c in s:
if '0' <= c <= '9':
multi = multi * 10 + int(c)
elif c == '[':
stack.append([multi, res])
res = ""
multi = 0
elif c == ']':
cur_multi, last_res = stack.pop()
res = last_res + cur_multi * res
else:
res += c
return res