node* reverse(node *head)
{
if(NULL == head || NULL == head->next)//不要忘记了判断为空的情况
return head;
Node* q = head->next;
q->next = NULL;
Node *p = head->next->next;
Node *s = p->next;
while(NULL != s)
{
s = p->next;
p->next = q;
q = p;
p = s;
}
head->next = q ;
return head;
}