标签:判断 struct while 反转链表 ext null 建立 list next
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead)
{
// 反转指针
ListNode* pNode=pHead; // 当前节点
ListNode* pPrev=nullptr;// 当前节点的上一个节点
ListNode* pNext=nullptr;// 当前节点的下一个节点
ListNode* pReverseHead=nullptr;//新链表的头指针
// 反转链表
while(pNode!=nullptr)
{
pNext=pNode->next; // 建立链接
if(pNext==NULL) // 判断pNode是否是最后一个节点
pReverseHead=pNode;
pNode->next=pPrev; // 指针反转
pPrev=pNode;
pNode=pNext;
}
return pReverseHead;
}
};
标签:判断 struct while 反转链表 ext null 建立 list next
原文地址:https://www.cnblogs.com/zhaochunhua12345/p/11443704.html