题目描述
输入一个链表,反转链表后,输出新链表的表头。
题目分析
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode* pNode = pHead;
ListNode* pPrev = nullptr;
ListNode* ReversedHead = nullptr;
while(pNode != nullptr){
ListNode* pNext = pNode->next;
if(pNext == nullptr)
ReversedHead = pNode; //反转后链表的头结点是原始链表的尾节点。尾节点:next为空的结点
pNode->next = pPrev;
pPrev = pNode;
pNode = pNext;
}
return ReversedHead;
}
};