R7-栈篇
妙啊,辅助栈!
class Solution:
def decodeString(self, s: str) -> str:
stack,ret,multi=[],"",0
for c in s:
if c=='[':
stack.append([multi,ret])
ret,multi="",0
elif c==']':
cur_multi,last_ret=stack.pop()
ret=last_ret+cur_multi*ret
elif '0'<=c<='9':
multi=multi*10+int(c)
else:
ret+=c
return ret