题目描述
输入一个链表,反转链表后,输出链表的所有元素。
解题思路:设置三个指针,分表表示前一个指针,当前指针和下一个指针。然后改变指针之间的关系。注意要将开始时要将头指针的下一个指针设为nullptr
class Solution {
public:
ListNode * ReverseList(ListNode* pHead) {
if (pHead == nullptr)
return nullptr;
ListNode *pre = pHead;
ListNode *cur = pre->next;
pre->next = nullptr;
ListNode *pNext=nullptr;
while (cur != nullptr)
{
pNext = cur->next;
cur->next = pre;
pre = cur;
cur = pNext;
}
return pre;
}
};