一、题目
二、解法一-前插法
把上次循环获得的链表放在当前链表的next中,通过temp使得pHead每次循环中后移一位,从而完成前插。
注意:再设置指针时,记得为指针赋值nullptr,否则无法放在赋值等号的右边,会报错。
class Solution
{
public:
ListNode* ReverseList(ListNode* pHead)
{
ListNode* ans=nullptr;
ListNode* temp=nullptr;
while(pHead!=nullptr)
{
temp = pHead->next;
pHead->next = ans;//把上一次循环获得的链表放到当前的pHead链表后,完成前插
ans = pHead;
pHead = temp;
}
return ans;
}
};