To the Top
File:  root - text - article - 2019 - 12 - tree-serialization.txt
Tags: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | English | Home Page | Category: Computing | 431 Views, 16355 Search Bots | 171 Words

Subscribe to Feed Burner | Browse | Archive
Hi, here's your problem today. This problem was recently asked by Apple:

You are given the root of a binary tree. You need to implement 2 functions:

1. serialize(root) which serializes the tree into a string representation
2. deserialize(s) which deserializes the string back to the original tree that it represents

For this problem, often you will be asked to design your own serialization format. However, for simplicity, let's use the pre-order traversal of the tree. Here's your starting point:


class Node:
def __init__(self, val, left=None, right=None):
self.val = val
self.left = left
self.right = right

def __str__(self):
# pre-order printing of the tree.
result = ''
result += str(self.val)
if self.left:
result += str(self.left)
if self.right:
result += str(self.right)
return result

def serialize(root):
# Fill this in.

def deserialize(data):
# Fill this in.

# 1
# / \
# 3 4
# / \ \
# 2 5 7
tree = Node(1)
tree.left = Node(3)
tree.left.left = Node(2)
tree.left.right = Node(5)
tree.right = Node(4)
tree.right.right = Node(7)

print serialize(tree)
# 1 3 2 # # 5 # # 4 # 7 # #
print deserialize('1 3 2 # # 5 # # 4 # 7 # #')
# 132547
Tags: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | English | Home Page | Cateogry: Computing | 431 Views, 16355 Search Bots | 171 Words Subscribe to Feed Burner

Related Articles

  1. Algorithm Interview: Smallest Number that is not a Sum of a Subset of List
  2. Patterns for breaking down questions you haven
  3. Daily Interview Problem: Room scheduling
  4. [Daily Problem] Remove Consecutive Nodes that Sum to 0
  5. Daily Interview Problem: Reverse Words in a String
  6. Daily Interview Problem: Largest BST in a Binary Tree
  7. Invert a Binary Tree
  8. Algorithm Interview Question: Nth Fibonacci Number
  9. Find Pythagorean Triplets
  10. Daily Interview Question: Find Cycles in a Graph

Comments (0)

Your Email (Domain Part Not Exposed):

Your Comments:

Privately By Mail Colors More Smileys S x y @

Verification (Click Image 2 Refresh):

    Be the first one to comment this page !


Page Edited: May 11 2024 14:36:49 | RSS Subscription
How to Cook a Perfect Steak? | <meta name="robots" content="noindex, follow" />