题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
刚通过 分类讨论有点复杂了 一会看看大佬门的方案
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode* p;
ListNode* q;
ListNode* v;
v = pHead;
if (pHead!=nullptr)
q=pHead->next;
else{
return pHead;
}
if(q!=nullptr)
p=q->next;
else{
return pHead;
}
pHead->next=nullptr;
while (p != nullptr) {
// cout<<"V"<<v->val<<endl;
// cout<<"Q"<<q->val<<endl;
// cout<<"P"<<p->val<<endl;
q->next = v;
v = q;
q=p;
p=p->next;
}
q->next = v;
return q;
}
};