Reconstruct from preorder
1class TreeNode:
2 def __init__(self, val, left, right):
3 self.val = val
4 self.left = left
5 self.right = right
6
7class Solution:
8 def reconstructPreorder(self, preorder):
9 def helper(pre):
10 node = next(pre)
11 if not node: return None
12
13 left = helper(pre)
14 right = helper(pre)
15 return TreeNode(node.val, left, right)
16
17 return helper(iter(preorder))