题目
输入一个链表,反转链表后,输出新链表的表头。
思路
在调整节点i的next指针,需要知道节点i的前一个节点h,事先还要保存i的下一个节点j,以防止链表断开。需要定定义三个指针
代码
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode* pRversedHead=NULL;
ListNode* pNode=pHead;
ListNode* pPrev=NULL;
while(pNode!=NULL)
{
ListNode* pNext=pNode->next;
if(pNext==NULL)
{
pRversedHead=pNode;
}
pNode->next=pPrev;
pPrev=pNode;
pNode=pNext;
}
return pRversedHead;
}
};
来源:CSDN
作者:含糖的八宝粥
链接:https://blog.csdn.net/weixin_42905141/article/details/100661226