class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution:
def Serialize(self, root):
# write code here
if not root:
return '#'
return str(root.val) + '$' + self.Serialize(root.left) + '$' + self.Serialize(root.right)
def des(self, data):
list = data.split('$')
return self.desTree(list)
def desTree(self, list):
if len(list) <= 0:
return None
val = list.pop(0)
root = None
if val != '#':
root = TreeNode(int(val))
root.left = self.desTree(list)
root.right = self.desTree(list)
return root
if __name__ == '__main__':
node1 = TreeNode(5)
node2 = TreeNode(3)
node3 = TreeNode(2)
node4 = TreeNode(4)
node5 = TreeNode(7)
node6 = TreeNode(6)
node7 = TreeNode(8)
node1.left = node2
node1.right = node5
node2.left = node3
node2.right = node4
node5.left = node6
node5.right = node7
s = Solution()
ret = s.Serialize(node1)
二叉树的序列化和反序列化
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉...
- 描述: 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二...