Reverse Linked List
Reverse a singly linked list.
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head) { if(head == NULL) return NULL; struct ListNode *nex = head->next, *pre = NULL; //nex指向head的下一个,pre指向head的上一个 while(nex != NULL) //如果head的下一个节点不为空则进入 { head->next = pre; pre = head; head = nex; nex = nex->next; } head->next = pre; //head的下一个节点为空,即到达了尾部,处理最后一次 return head; }