题目描述
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
思路
经典考研题,用头插法解决。
代码
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if(!head || !head->next) return head;
ListNode* p1=head;
ListNode* p2=head->next;
ListNode* p3=head;
p1->next=nullptr;
while(p2!=nullptr){
p1=p2;
p2=p2->next;
p1->next=p3;
p3=p1;
}
return p3;
}
};