Not able to solve this problem?

how to solve it using recursion??

See this recursive function as a reference

Node *reverse (Node *head, int k)
{
	Node* current = head;
	Node* next = NULL;
	Node* prev = NULL;
	int count = 0;
	while (current != NULL && count < k)
	{
		next = current->next;
		current->next = prev;
		prev = current;
		current = next;
		count++;
	}
	if (next != NULL)
		head->next = reverse(next, k);
	return prev;
}