61.序列化二叉树(python)
题目描述
请实现两个函数,分别用来序列化和反序列化二叉树
二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。
二叉树的反序列化是指:根据某种遍历顺序得到的序列化字符串结果str,重构二叉树。
二叉树的反序列化是指:根据某种遍历顺序得到的序列化字符串结果str,重构二叉树。
class Solution: def Serialize(self, root): # write code here retList = [] def preOrder(root): if root == None: retList.append("#") return retList.append(str(root.val)) preOrder(root.left) preOrder(root.right) preOrder(root) return ‘ ‘.join(retList) def Deserialize(self, s): # write code here retList = s.split() def dePreOrder(): if retList == []: return None rootVal = retList[0] del retList[0] if rootVal == "#": return None node = TreeNode(int(rootVal)) leftNode = dePreOrder() rightNode = dePreOrder() node.left = leftNode node.right = rightNode return node pRoot = dePreOrder() return pRoot
2020-01-01 19:34:24
相关推荐
Lzs 2020-10-23
xclxcl 2020-08-03
zmzmmf 2020-08-03
葫芦小金刚 2020-07-22
ericdoug 2020-07-18
Erick 2020-06-17
aanndd 2020-06-16
Erick 2020-06-17
aanndd 2020-06-16
xuebingnan 2020-06-13
80337960 2020-06-10
Jerry 2020-06-01
mengdg000 2020-05-29
spring-data-redis RedisTemplate 操作redis时发现存储在redis中的key不是设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\x00;
尹小鱼 2020-05-29
somebodyoneday 2020-05-15
visionzheng 2020-05-05
visionzheng 2020-05-04
igogo00 2020-05-03