Linked Lists · Coding problem
Reverse a Linked List
A free coding problem from the Singly Linked List Basics skill. Read it here, then solve it in the app in Java or Python.
- Easy
- Coding problem
- Free
- Java and Python
The problem
Given the head of a singly linked list, reverse the list in place and return the new head.
Example
Input: 1 -> 2 -> 3 -> 4 -> 5
Output: 5 -> 4 -> 3 -> 2 -> 1
Do it iteratively, in a single pass, using O(1) extra space — don't build a new list or use an array to reverse it.
Constraints
0 <= number of nodes <= 5000-10^5 <= node value <= 10^5
How it's graded
- Run checks your code against the examples. Submit also runs a hidden suite in four groups - basic cases, edge cases, random inputs and performance tests at the size limit - and shows which groups pass, never the hidden inputs.
- Stuck? Hints come in four steps, from a nudge to a code skeleton, each costing part of the points.
- Once you pass, you see the approaches from brute force to optimal, and where your solution lands among them.
More problems in Singly Linked List Basics
Solve it Reverse a Linked List free
No card needed. Lessons, practice questions and easy problems are free forever.
Free plan, no card · 7-day Pro trial · Cancel anytime