Easy Visit -> L -> R Trees
In plain English: Visit every node in a binary tree in root-left-right order.
Preorder visits the root first — useful for copying or serializing a tree since you see each node before its children.
Prompt
Return the preorder traversal of a binary tree as a list.
Try to write it from scratch before scrolling down.
Solution
def preorder(node, result=None):
# visit first, then children
if result is None:
result = []
if node:
result.append(node.val)
preorder(node.left, result)
preorder(node.right, result)
return result
# BST [4,2,6,1,3] preorder => [4,2,1,3,6]