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
原文地址:https://www.cnblogs.com/zle1992/p/8295524.html