剑指offer - 反转链表

题目

https://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca

题意

输入一个链表,反转链表后,输出链表的所有元素。

题解

将链表的指向反转即可,注意改变指向前要保存下原有的指向。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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;
ListNode * pre=NULL,* cur=pHead,* store=pHead->next;
while(cur){
store=cur->next;
cur->next=pre;
pre=cur;
cur=store;
}
return pre;
}
};