Reverse Linked List
Reverse a singly linked list.
翻转链表。
struct ListNode* reverseList(struct ListNode* head) {
struct ListNode *pre = NULL, *cur = NULL, *ne = NULL;
if(head == NULL) /*空链表*/
return NULL;
/*链表不为空*/
pre = head;
ne = head->next;
while (ne != NULL) {
cur = ne;
ne = ne->next;
cur->next = pre;
if(pre == head)
pre->next = NULL;
pre = cur;
}
head = pre;
return head;
}