/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
if(pHead==NULL)
return NULL;
// 1.采用temp指针存一下头结点
// 2.接着取出下一个节点后使用头插法就可以了
// 3.temp接着取
ListNode *ppre=NULL; // 存的是待反转节点
ListNode *temp=NULL;
while(pHead!=NULL){
temp=pHead->next; // 存的头节点的下一个节点,因为只有一个节点的时候不用反转滴
pHead->next=ppre;
ppre=pHead; // 头插法插入
pHead=temp;
}
return ppre;
}
};
剑指offer--- 反转链表
最新推荐文章于 2021-12-06 20:42:22 发布