Interview Guides
Given the head of a singly linked list, reverse the list in place and return the new head. Each node contains an integer value and a next pointer. If the list is empty, return None.
0 <= n <= 5000, where n is the number of nodes-5000 <= Node.val <= 5000