题目描述:
反转一个单链表。
示例:
输入: 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* Curr = head;
struct ListNode* Next = NULL;
while (Curr) {
Next = Curr->next;
Curr->next = Prev;
Prev = Curr;
Curr = Next;
}
return Prev;
}
运行结果: