node *reserve(node *head)
{
node *p = head, *q = head->next, *cur = head;
while(q != NULL)
{
p = q->next; //保存q的下一个结点到p
q->next = cur; //将q结点提到cur前面,这一步实现了逆序
cur = q; //将cur结点指向逆序后最前面结点
q = p;
}
node *my_head = head;
my_head->next = cur;
return my_head;
}