You only have free questions left (including this one) .
Hooray! It's opposite day. Linked lists go the opposite way today.
Write a method for reversing a linked list. Do it in place.
Your method will have one input: the head of the list.
Your method should return the new head of the list.
Here's a sample linked list node class :
class LinkedListNode
attr_accessor :value, :next
def initialize(value)
@value = value
@next = nil
end
end
We can do this in space. So don't make a new list; use the existing list nodes!
We can do this is in time.
Careful—even the right approach will fail if done in the wrong order .
Try drawing a picture of a small linked list and running your method by hand. Does it actually work?
The most obvious edge cases are:
the list has 0 elements
the list has 1 element
Does your method correctly handle those cases?
Start your free trial!
Log in or sign up with one click to get immediate access to free mock interview questions
We'll never post on your wall or message your friends.
Where do I enter my password?
Actually, we don't support password-based login. Never have. Just the OAuth methods above. Why?
It's easy and quick. No "reset password" flow. No password to forget.
It lets us avoid storing passwords that hackers could access and use to try to log into our users' email or bank accounts.
It makes it harder for one person to share a paid Interview Cake account with multiple people.
Start your free trial!
Log in or sign up with one click to get immediate access to free mock interview questions
We'll never post on your wall or message your friends.
Where do I enter my password?
Actually, we don't support password-based login. Never have. Just the OAuth methods above. Why?
It's easy and quick. No "reset password" flow. No password to forget.
It lets us avoid storing passwords that hackers could access and use to try to log into our users' email or bank accounts.
It makes it harder for one person to share a paid Interview Cake account with multiple people.
time and space. We pass over the list only once, and maintain a constant number of variables in memory.
This in-place reversal destroys the input linked list. What if we wanted to keep a copy of the original linked list? Write a method for reversing a linked list out-of-place.
Start your free trial!
Log in or sign up with one click to get immediate access to free mock interview questions
We'll never post on your wall or message your friends.
Where do I enter my password?
Actually, we don't support password-based login. Never have. Just the OAuth methods above. Why?
It's easy and quick. No "reset password" flow. No password to forget.
It lets us avoid storing passwords that hackers could access and use to try to log into our users' email or bank accounts.
It makes it harder for one person to share a paid Interview Cake account with multiple people.
Code editor
Reset editor
vim/emacs?
regular
vim
emacs
Run
{"id":37367600,"username":"2025-03-16_17:26:30_d)!b%j","email":null,"date_joined":"2025-03-16T17:26:30.148306+00:00","first_name":"","last_name":"","full_name":"","short_name":"friend","is_anonymous":true,"is_on_last_question":false,"percent_done":0,"num_questions_done":0,"num_questions_remaining":46,"is_full_access":false,"is_student":false,"first_payment_date":null,"last_payment_date":null,"num_free_questions_left":3,"terms_has_agreed_to_latest":false,"preferred_content_language":"","preferred_editor_language":"","is_staff":false,"auth_providers_human_readable_list":"","num_auth_providers":0,"auth_email":""}
×
“ I was so used to thinking that I just don't have the knack for solving interview questions but you helped me 'get it.' I owe you one, man!
—
Noam
. . .