思想就是把指向前驱的指针指向后驱
class ListNode{
private:
int val;
ListNode *next;
public:
ListNode(int val):val(val),next(nullptr){}
ListNode* ReverseList(ListNode* pHead)
{
ListNode* pNode=pHead;//最后翻转后的链表的头结点
ListNode* pPre=nullptr;//前驱指针
while(pNode)
{
ListNode* pNext=pNode->next;
if(pNode->next==nullptr)
return pNode;
pNode->next=pPre;
pPre=pNode;
pNode=pNext;
}
return pNode;
}
}