zoukankan      html  css  js  c++  java
  • 61序列化二叉树

    题目描述

    请实现两个函数,分别用来序列化和反序列化二叉树



    根据前序遍历,序列化二叉树,遇到null 用特殊字符代替

     1 # -*- coding:utf-8 -*-
     2 # class TreeNode:
     3 #     def __init__(self, x):
     4 #         self.val = x
     5 #         self.left = None
     6 #         self.right = None
     7 class Solution:
     8     def __init__(self):
     9         self.index=-1
    10     def Serialize(self, root):
    11         # write code here
    12         if root == None:
    13             return '#,'
    14         return str(root.val)+','+self.Serialize(root.left)+self.Serialize(root.right)
    15     def Deserialize(self, s):
    16         # write code here
    17         self.index+=1
    18         sl = s.split(',')
    19         curchar = sl[self.index]
    20         root = None
    21         if curchar != '#':
    22             root = TreeNode(int(curchar))
    23             root.left =self.Deserialize(s)
    24             root.right = self.Deserialize(s)
    25         return root
  • 相关阅读:
    HashMap 链表插入方式 → 头插为何改成尾插 ?
    MySQL 日志之 binlog 格式 → 关于 MySQL 默认隔离级别的探讨
    Eclipse
    Delphi
    Delphi
    Delphi
    Delphi
    Delphi
    Delphi
    Delphi
  • 原文地址:https://www.cnblogs.com/zle1992/p/8295524.html
Copyright © 2011-2022 走看看