两种实现方法
方法一:
函数声明
ListNode * reverse(ListNode *head)
函数体
{
if(head == NULL || head->next == NULL) return;
ListNode * pre = head;
ListNode * current = head->next;
ListNode * next = NULL;
while(current){
next = current->next;
currrent->next = pre;
pre = current;
current = next;
}
head->next = NULL;
head = pre;
return head;
}
方法二:
函数声明
void reverse(ListNode **head)
函数体
{
if(head == NULL || *head == NULL || *head->next == NULL) return;
ListNode * pre = *head;
ListNode * current = pre->next;
ListNode * next = NULL;
while(current){
next = current->next;
currrent->next = pre;
pre = current;
current = next;
}
*head->next = NULL;
*head = pre;
return ;
}