#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int id;
struct node *next;
} node;
node *reverse(node *head)
{
node *reverse_head;
node *n;
node *p = NULL;
node *c = head;
while (c != NULL)
{
n = c->next;
if (n == NULL)
reverse_head = c;
c->next = p;
p = c;
c = n;
}
return reverse_head;
}