反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* reverseList(struct ListNode* head) {
struct ListNode* prev = NULL;
struct ListNode* cur = head;
struct ListNode* next;
while(cur)
{
//先获取下一个结点
next = cur->next;
//更改当前结点的指向
cur->next = prev;
prev = cur;
cur = next;
}
return prev;
}