[Lintcode]7. Serialize and Deserialize Binary Tree/[Leetcode
7. Serialize and Deserialize Binary Tree/297. Serialize and Deserialize Binary Tree
DescriptionDesign an algorithm and write code to serialize and deserialize a binary tree. Writing the tree to a file is called ‘serialization‘ and reading back from the file to reconstruct the exact same binary tree is ‘deserialization‘. Example 3 You can use other method to do serializaiton and deserialization. Notice 别人的代码""" Definition of TreeNode: class TreeNode: def __init__(self,val): self.val = val self.left,self.right = None,None """ class Solution: def serialize(self,root): def doit(node): if node: vals.append(str(node.val)) doit(node.left) doit(node.right) else: vals.append(‘#‘) vals = [] doit(root) return ‘ ‘.join(vals) def deserialize(self,data): def doit(): val = next(vals) if val == ‘#‘: return None node = TreeNode(int(val)) node.left = doit() node.right = doit() return node vals = iter(data.split()) return doit() 思路
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |