C Program to Reverse a Linked List using Recursion

Write a c program to reverse a linked list using recursion. Given a singly linked list, we have to write a code to reverse a linked list using recursion. This question is very important in terms of interviews.

In my previous post, I have explained C program to reverse a singly linked list. In this post, We are going to write a code to reverse a linked list using recursion.  If you are not familiar with the concept of recursion then check my previous tutorial on recursion vs iteration.

The time complexity to reverse a linked list using recursion is O(n).

Subscribe Our Tutorials

Reverse a Linked List using Recursion

Linked list is a linear collection of data elements, called nodes. Each node is connected to a next node by links ( using a pointer). So linked list is a group of nodes which together represent a sequence. Each node consists of two parts a data and a pointer to the next node.

To understand the concept of linked list, let’s practice some questions related to linked list.

C program to count number of nodes in a linked list

C program to insert a node at the beginning of a linked list

C Program to Reverse a Linked List using Recursion

We have discussed what is linked list. Let’s write a c code to reverse a linked list using recursion.