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;
}

浙公网安备 33010602011771号