BM1 题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
if (pHead == nullptr) {
return nullptr;
}
ListNode* pre = pHead;
ListNode* cur = pHead->next;
if (cur == nullptr) {
return pHead;
}
ListNode* r = cur->next;
cur->next = pre;
pre->next = nullptr;
ListNode* x;
while (r != nullptr) {
x = r->next;
pre = cur;
cur = r;
r->next = pre;
r = x;
}
return cur;
}
};