BFS level-order traversal
Return the level-order traversal of a binary tree as a list of lists.
AST Visitor Lite
Implement a depth-first traversal of a simplified AST and return identifier names in order.
Level Order Traversal
Implement a function that performs a level order traversal of a binary tree and returns node values as a list of lists.
Lowest Common Ancestor in a Binary Tree
Implement a function to find the lowest common ancestor (LCA) of two nodes in a binary tree.
Vertical Order Traversal
Compute the vertical order traversal of a binary tree, grouping nodes by column and row.
Delete Node in BST
Implement a function that deletes a key from a binary search tree and returns the new root.
Count Complete Tree Nodes
Given a complete binary tree, return its node count faster than O(n) time.
Zigzag Level Order Traversal
Implement a function that returns the zigzag level-order traversal of a binary tree.
Find in Mountain Array
Implement a function to search for a target value in a mountain array using binary search.
Spiral Matrix Order
Given a 2D matrix, return all elements in clockwise spiral order starting from the top-left.
Spiral Matrix Traversal
Implement a function that returns the elements of a 2D matrix in clockwise spiral order.
Pacific Atlantic Matrix DFS
Given a matrix of heights, return cells that can reach both Pacific and Atlantic oceans using a DFS approach.
Showing 1–12 of 12 challenges · medium
Guide: free Python coding challenges
Practice Python by solving problems
PythonSkillset challenges are hands-on coding exercises from beginner to advanced. Open a challenge, read the problem, write Python in the split-pane editor, and run tests with Pyodide — no install required.
How to use the arena
- Pick a category — basics, algorithms, strings, and more
- Open a challenge, read the statement, and edit the starter code
- Run tests, fix failures, then try a related quiz or tutorial lesson
Challenges vs tutorials and quizzes
Challenges test what you can build under constraints. For guided teaching, use our Python tutorials. For quick checks, try quizzes or copy snippets from code samples.