页面顶部 Top
文件:  root - text - article - 2019 - 12 - tree-serialization.txt
标签: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | 英文 | 主页 | 类别: 计算机科学 | 372 次阅读, 14811 次搜索 | 171 个单词

定阅此目录的博客 | 浏览 | 博客存档
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
标签: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | 英文 | 主页 | 类别: 计算机科学 | 372 次阅读, 14811 次搜索 | 171 个单词 定阅此目录的博客

猜您喜欢...

  1. Daily Interview Problem: Largest Product of 3 Elements I
  2. Daily Interview Problem: Look and Say Sequence
  3. ImageMagick Vulnerabilities -  CVE-2016–3714
  4. 56 Bytes
  5. Print a tree level-by-level, with line-breaks
  6. Daily Interview Problem: Given two arrays, write a function to compute their intersection.
  7. Daily Interview Problem: Jump to the End
  8. Multitasking
  9. Daily Interview Problem: Product of Array Except Self
  10. Daily Interview Puzzle: Falling Dominoes

评论 (0)

您的邮件 (不公开域名部分):

您的评论:

悄悄话(发邮件) 颜色 更多笑脸 S x y @

验证码 (点击图片更新):

    当前页暂时没有评论。


最后更新: October 30 2020 14:21:12 | RSS Subscription
牛排怎么做才好吃? | <meta name="机器人" content="不索引, 跟踪" />