[
string
parser
]
BinarySearch 0313 Run-Length Decoding
Problem statement
https://binarysearch.com/problems/Run-Length-Decoding/
Solution
Go symbol by symbol and if we have digit, update num, if we have letter, add this letter multiplied by num.
Complexity
It is O(m) for time and space, where m is the length of answer.
Code
class Solution:
def solve(self, s):
ans, num = [], ""
for x in s:
if x.isdigit():
num += x
else:
ans += [x] * int(num)
num = ""
return "".join(ans)