394. Decode String
class Solution:
def decodeString(self, s: str) -> str:
stack = []
digits = 0
chars = ''
for char in s:
if char == '[':
stack.append((chars, digits))
chars = ''
digits = 0
elif char == ']':
prevChars, prevDigits = stack.pop()
chars = prevChars + prevDigits * chars
elif char.isdigit():
digits = digits * 10 + int(char)
else:
chars += char
return charsLast updated