Reverse a singly linked list
Task
final class ListNode {
var value: Int
var next: ListNode?
init(_ value: Int) { self.value = value }
}
Reverse the list 1 → 2 → 3 → 4 into 4 → 3 → 2 → 1. Iteratively, in O(n) time and O(1) memory.
The rest of this answer, with code and interview follow-ups, is in the DevPrep app.
Read the full answer in DevPrep