Build the PrimitiveHard
Serialize and Deserialize Binary Tree
Implement `serialize(root)` returning a string, and `deserialize(data)` rebuilding the tree, so that the round trip preserves the tree exactly.
Pre-order with an explicit marker for every missing child is the shortest correct scheme: the markers are what make the structure unambiguous. Without them, a pre-order sequence alone cannot tell a left child from a right one. Your format is your choice — it just has to survive skewed trees, negative values, and an empty tree.
What to expect: A timer starts when you begin. Edit the starter code, run it against the test suite as many times as you like, then finish when you're done. The reference solution and interviewer follow-up questions unlock only after you finish.