题解 | #反转链表#
反转链表
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* p = pHead;
ListNode* q = p->next;
p->next = nullptr; // 头节点不为空时, 反转后,头节点的next应为空
while (q != nullptr) {
ListNode* k = q->next;
q->next = p;
p = q;
q = k;
}
return p;
}
};