title: 剑指Offer 24.反转链表(c语言)
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
限制:
$$
0 \leqslant 节点个数 \leqslant 5000
$$
代码如下:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* reverseList(struct ListNode* head){
struct ListNode *pPre = NULL;
struct ListNode *pCur = head;
struct ListNode *pNex = NULL;
while(pCur)
{
pNex = pCur->next;
pCur->next = pPre;
pPre = pCur;
pCur = pNex;
}
return pPre;
}
执行结果:
通过
显示详情
执行用时:4 ms, 在所有 C 提交中击败了91.79%的用户
内存消耗:6.1 MB, 在所有 C 提交中击败了98.59%的用户
标签:24,ListNode,struct,Offer,链表,pCur,pPre,NULL From: https://www.cnblogs.com/blue-Suri/p/17342970.html