DSA · Linked List · #150
Reverse Linked List
Module 42 · difficulty 2/5·⏱ 30:00starts on first keystroke
Given the `head` of a singly linked list, reverse the list and return the new head. Each node has the shape `{ val, next }`, where `next` is the next node or `null`. Implement the function `reverseList(head)`; it returns the head of the reversed list (or `null` for an empty list).
Examples
head = [1,2,3,4,5]→[5,4,3,2,1]— Every pointer is flipped; the old tail becomes the new head.head = [1,2]→[2,1]head = []→[]— Empty list reverses to itself.
Constraints
- · The number of nodes is in the range [0, 5000].
- · -5000 <= Node.val <= 5000
- · Solve it both iteratively and recursively.
Session phases
A · Clarify
B · Approach
C · Complexity
D · Edges
E · Code
F · Tradeoff
G · Score
Phase A — Clarify
Ask questions about input bounds, types, and edge constraints.
Ask the coach clarifying questions about the problem.
When you've covered this phase, advance to the next.