Encode and Decode Strings (LC-0271)
class Solution:
def encode(self, s):
encoded = []
for ix, _s in enumerate(s):
encoded.append(f"{len(_s)}#{_s}")
return "".join(encoded)
def decode(self, s):
lx = 0
res = []
while lx < len(s):
rx = s.find('#', lx)
if rx == -1:
break
L = int(s[lx:rx])
res.append(s[rx + 1:rx + 1 + L])
lx = rx + 1 + L
return res