题解 | #反转链表#
反转链表
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; } };