ListNode* ReverseList(ListNode* head)
{
if(NULL == head || NULL == head->next)
return head;
ListNode* pnext = head->next;
head->next = NULL;
ListNode* newhead = ReverseList(pnext);
pnext->next = head;
return newhead;
}
ListNode* ReverseList(ListNode* head)
{
if(NULL == head || NULL == head->next)
return head;
ListNode* pnext = head->next;
head->next = NULL;
ListNode* newhead = ReverseList(pnext);
pnext->next = head;
return newhead;
}