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
复制代码

 

posted @   乐乐章  阅读(123)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
阅读排行:
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· https证书一键自动续期,帮你解放90天限制
· 在线客服系统 QPS 突破 240/秒,连接数突破 4000,日请求数接近1000万次,.NET 多
· 推荐几个不错的 Linux 服务器管理工具
· C# 开发工具Visual Studio 介绍
历史上的今天:
2017-01-16 win7 下安装 ubuntu 16.04双系统
点击右上角即可分享
微信分享提示