Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution:
- def decodeString(self, s: str) -> str:
- multipliers = []
- sequences = []
- last_multiplier = 0
- last_sequence = ''
- for c in s:
- if c.isdigit():
- last_multiplier = last_multiplier * 10 + int(c)
- elif last_multiplier:
- multipliers.append(last_multiplier)
- last_multiplier = 0
- if c == '[':
- sequences.append(last_sequence)
- last_sequence = ''
- elif c == ']':
- prev_sequence = ''
- if sequences:
- prev_sequence = sequences.pop()
- multiplier = multipliers.pop()
- last_sequence = prev_sequence + multiplier * last_sequence
- elif c.isalpha():
- last_sequence += c
- return last_sequence
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement