反转链表
class Solution { public: ListNode* reverseList(ListNode* head) { //双指针 抄写 ListNode* cur=head; ListNode* pre=nullptr; ListNode* temp; //首先定义一个cur指针,指向头结点,再定义一个pre指针,初始化为null。 while(cur) //当cur为nullptr的时候 跳出 { temp=cur->next; cur->next=pre; //然后就要开始反转了,首先要把 cur->next 节点用tmp指针保存一下,也就是保存一下这个节点。 //为什么要保存一下这个节点呢,因为接下来要改变 cur->next 的指向了,将**cur->next 指向pre** ,此时已经反转了第一个节点了。 //更新pre cur指针 pre=cur; cur=temp; } return pre; } };