Serialize and Deserialize Binary Tree*
解法二
Serialize and Deserialize Binary Tree
1
/ \
2 3
/ \
4 5Solution
class Codec:
def serialize(self, root):
if root == None:
return []
result = []
self.serializeHelper(root, result)
return result
def serializeHelper(self, root, result):
if root == None:
result.append('#')
return
result.append(root.val)
self.serializeHelper(root.left, result)
self.serializeHelper(root.right, result)
def deserialize(self, data):
if data == None or len(data) == 0:
return None
data.reverse()
return self.deserializeHelper(data)
def deserializeHelper(self, data):
val = data.pop()
if val == '#':
return None
root = TreeNode(val)
root.left = self.deserializeHelper(data)
root.right = self.deserializeHelper(data)
return rootLast updated