Design encode(strs) that turns a list of strings into one string, and decode(s) that recovers the original list — so decode(encode(strs)) equals strs . Strings may contain any characters, including the ones you might use as separators. Implement a class Codec with encode(strs) and decode(s) . Input format A list of strings, e.g. [[ hello , world ]] . The harness round-trips it through your codec and checks the result matches.