typedef struct node{
int data;
struct node *next;
}node_s;
typedef struct{
node_s *head;
}link;
link * reverse(link *ls)
{
if(ls==NULL || ls->head==NULL)
return NULL;
node_s *p = ls->head;
node_s *q = p->next;
node_s *r = NULL;
p->next = NULL;
while(q){
r = q->next;
q->next = p;
p = q;
q = r;
}
ls->head = p;
return ls;
}