Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Serialize Binary Tree for Messenger

MediumPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Serialize Binary Tree for Messenger. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

In Meta Messenger infrastructure, tree-shaped data may need to be converted into a string for transport and rebuilt later. Implement functions to serialize a binary tree into a string and deserialize that string back into the original tree.

A correct solution must preserve both node values and tree structure, including missing children.

Formal Specification

  • Input to serialize: the root of a binary tree where each node has fields val, left, and right
  • Output from serialize: a string representation of the tree
  • Input to deserialize: a string produced by serialize
  • Output from deserialize: the reconstructed root node

Use the string format produced by a level-order traversal with # representing null children and values separated by commas.

Constraints

  • 0 <= number of nodes <= 10^4
  • -1000 <= Node.val <= 1000
  • Input to deserialize is always a valid string produced by serialize
  • Tree may be balanced, skewed, or sparse

Function Signature

def serialize_deserialize(root):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output