123
返回列表 发新帖
楼主: lanyexiaosa369
跳转到指定楼层
上一主题 下一主题
收起左侧

Facebook背靠背实习挂经

全局:
依我来看,给出的应该不是一随意的乱序,而是一个BST的先根序遍历。所以还是照搬449的做法。
  1. class TreeNode(object):
  2.     def __init__(self, x):
  3.         self.val = x
  4.         self.left = None
  5.         self.right = None

  6. class Codec:

  7.     def serialize(self, root):
  8.         """Encodes a tree to a single string.

  9.         :type root: TreeNode
  10.         :rtype: str
  11.         """
  12.         R = []
  13.         L = [root]

  14.         def DFS(node):
  15.             if node:
  16.                 R.append(node.val)
  17.                 DFS(node.left)
  18.                 DFS(node.right)

  19.         DFS(root)
  20.         return R

  21.     def deserialize(self, data):
  22.         """Decodes your encoded data to tree.

  23.         :type data: str
  24.         :rtype: TreeNode
  25.         """

  26.         def BuildTree(start, end):
  27.             if start >= end:
  28.                 return None
  29.             i = start + 1
  30.             while i < end and data[i] < data[start]:
  31.                 i += 1
  32.             root = TreeNode(data[start])
  33.             root.left = BuildTree(start + 1, i)
  34.             root.right = BuildTree(i, end)
  35.             return root

  36.         return BuildTree(0, len(data))
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表