Practice Problem

Serialize and Deserialize Binary Tree

Difficulty: Hard

Design an algorithm to serialize a binary tree to a string and deserialize the string back to the original tree.

Serialize and Deserialize Binary Tree

Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored or transmitted and reconstructed later.

Design an algorithm to serialize and deserialize a binary tree. There is no restriction on how your serialization/deserialization algorithm should work. You just need to ensure that a binary tree can be serialized to a string and this string can be deserialized to the original tree structure.

Examples

Example 1:

Input: root = [1, 2, 3, null, null, 4, 5]
Output: [1, 2, 3, null, null, 4, 5]

      1
     / \
    2   3
       / \
      4   5

Example 2:

Input: root = []
Output: []

Constraints

  • The number of nodes in the tree is in the range [0, 10^4].
  • -1000 <= Node.val <= 1000

Expected Complexity

  • Time: O(n) for both serialize and deserialize
  • Space: O(n)
HARD
Binary Tree
DFS
BFS
Serialize / Deserialize
Advanced

0 views

Solution

Hints

Hint 1
Hint 2
Premium
Hint 3
Premium
Hint 4
Premium