FastPrepReverse a Singly Linked List
Problem · Linked List

Reverse a Singly Linked List

Learn this problem
EasyGEP logoGEPINTERNONSITE INTERVIEW

Problem statement

You are given the head head of a finite, acyclic singly linked list. Reverse the direction of every next pointer in place and return the new head.

The returned list must contain exactly the original nodes and values in reverse order. Return null when the input list is empty.

Function

reverseList(head: ListNode) → ListNode

Examples

Example 1

head = [1,2,3,4,5]return = [5,4,3,2,1]

Every link is reversed, making 5 the new head and 1 the new tail.

Example 2

head = []return = []

An empty list remains empty.

Example 3

head = [7]return = [7]

A one-node list is already reversed.

Constraints

  • 0 <= number of nodes <= 100000.
  • -1000000000 <= node.val <= 1000000000.
  • The input list is finite and acyclic.

More GEP problems

drafts saved locally
public ListNode reverseList(ListNode head) {
    // Write your code here
}
head[1,2,3,4,5]
expected[5,4,3,2,1]
checking account