Lesson guide
What this Python exercise practices
Implement preorder traversal is a beginner practice lesson that focuses on dsa, problem patterns, edge cases. It is designed to be solved in about 6 minutes with examples, starter code, and test feedback.
Prerequisites
- Python functions
- Loops
- Lists
- Basic edge cases
Difficulty and time
- Level
- Beginner
- Estimated time
- 6 minutes
Practice path
Related public exercises
Summary
Write a function to perform a preorder (root-left-right) traversal of a binary tree and return the list of visited node values.
Problem statement
Given the root of a binary tree, implement a function preorder(root) that returns a list of node values visited in preorder (root, left, right). The tree nodes are represented by the provided Node class. The function should handle empty trees (None) and return an empty list for them.
Task
Implement preorder traversal that visits root then left subtree then right subtree. Return values as a list in traversal order.
Examples
Small tree
Input
preorder(Node(1, Node(2), Node(3)))
Output
[1, 2, 3]
Explanation
Visit root 1, then left child 2, then right child 3.
Input format
A single argument: root (Node or None).
Output format
A list of integers representing node values in preorder order.
Constraints
Tree node count <= 10^4. Node values are integers. Use recursion or iteration. Do not print; return the list.
Samples
Sample input 0
preorder(None)
Sample output 0
[]
Explanation 0
Empty tree returns empty list.
AI assistant
Ask me anything!
Need help? I can explain the core idea behind this problem, review your current code, and give targeted hints. Use “Teach Theory” for the concept, “Get AI hint” for a quick scaffold nudge, or ask a specific question below.
Chat history is temporary and will not be saved.
Free preview includes 1 Teach Theory response and 1 AI hint per unlocked preview lesson.