Read-only web browser

Solutions

Browse the interview solutions folder with syntax highlighting.

encode-and-decode-strings.py

array-hashing/encode-and-decode-strings.py · Python · 612 B · 2025-09-21 16:00

Back to folder
# Encode length with an ASCII delimiter; or use a unicode non-ASCII delimiter
# strings
# Encode length
def encode(strs: list[str]) -> str:
    ans = ""
    for s in strs:
        ans += f'{len(s)}#{s}'
    return ans

def decode(s: str) -> list[str]:
    res = []
    i = 0
    while i < len(s):
        delim = s.index('#', i)
        length = int(s[i:delim])
        res.append(s[delim + 1:delim + 1 + length])
        i = delim + 1 + length
    return res

# Use a unicode delimiter
def encode(strs: list[str]) -> str:
    return '😄'.join(strs)

def decode(s: str) -> list[str]:
    return s.split('😄')