/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if (head == NULL)
return NULL;
ListNode* pHis = head;
ListNode* pCur = pHis->next;
pHis->next = NULL;
ListNode* pNext = NULL;
while (pCur != NULL) {
pNext = pCur->next;
pCur->next = pHis;
if (pNext == NULL) {
return pCur;
}
pHis = pCur;
pCur = pNext;
}
return pHis;
}
};
单链表翻转
最新推荐文章于 2026-01-03 19:30:00 发布
本文介绍了一种使用C++实现的单链表反转算法。通过迭代的方式,将原链表节点依次重新连接,最终达到反转链表的效果。此方法简单易懂,适用于各种需要对链表进行操作的场景。
319

被折叠的 条评论
为什么被折叠?



