nodereverse(nodehead,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;
}
can you please explain what this function is doing i am very confuses about this function,

