Your question is Reverse a Linked List In Place. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Given the head of a singly linked list, reverse the list in place and return the new head. Do not create a second list or use extra nodes to store the result.
Implement a function that takes the head node of a singly linked list and returns the head node of the reversed list. Each node has two fields: val and next.
def reverse_linked_list(head):