Node* Reverse(Node* head)
{
Node* pre=NULL, *next=NULL;
while (head)
{
next = head->next;
head->next = pre;
pre = head;
head = next;
}
return pre;
}
Node* ReverseRsc(Node* head)
{
if (head==NULL||head->next == NULL) return head;
Node* next = head->next;
head->next = NULL;
Node* end = ReverseRsc(next);
next->next = head;
return end;
}