Algorithmspre order traversal
Preorder Traversal — Root, Left, Right
TT
Testlaa Team
May 14, 2026•1 min read
Preorder prints (or visits) the root before its subtrees—useful for copying trees and building from traversal lists with markers.
Try this in Python
from __future__ import annotations
from dataclasses import dataclass
@dataclass
class TreeNode:
val: int
left: TreeNode | None = None
right: TreeNode | None = None
def preorder(root: TreeNode | None) -> list[int]:
out: list[int] = []
def walk(n: TreeNode | None) -> None:
if not n:
return
out.append(n.val)
walk(n.left)
walk(n.right)
walk(root)
return out
r = TreeNode(1, TreeNode(2, TreeNode(4)), TreeNode(3))
print(preorder(r))
Key takeaways
- Iterative preorder uses a stack pushing right before left so left is popped first.
- Know the three traversal orders by heart.
- Preorder + inorder can uniquely reconstruct if BST assumptions hold.
Tags:
Tree structuresPythonStudents
