题解 | #反转链表#
反转链表
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) {
ListNode* last=pHead;
if(!pHead || !(pHead->next)){//判断是否为空链表或只有一个节点,是则返回头结点
return pHead;
}
ListNode* curr=pHead->next;
ListNode* end=pHead->next->next;
pHead->next=nullptr;
while(end){
curr->next=last;
last=curr;
curr=end;
end=end->next;
}
curr->next=last;
return curr;
}
};
查看19道真题和解析