leetcode -- Serialize and Deserialize Binary Tree -- 非重点

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)

你可能感兴趣的:(LeetCode)