https://leetcode.com/problems/serialize-and-deserialize-binary-tree/
可以preorder也可以levelorder
参考http://bookshadow.com/weblog/2015/10/26/leetcode-serialize-and-deserialize-binary-tree/
pre order 的serialize code。这里假象每个leaf节点都有子节点,并且是“#”。所以else的时候,不需要pop,只需要append就行
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)