题目描述
请实现两个函数,分别用来序列化和反序列化二叉树
根据前序遍历,序列化二叉树,遇到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