class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode *pre = NULL; //pre指向null
ListNode *cur = head; //cur节点指向头节点
ListNode *temp; //用来存储cur的下一个节点,辅助cur的移动,因为当cur的指针方向改变后,cur节点会与后一个节点断开
while(cur!=nullptr)
{
temp = cur->next; //temp先指向cur的下一个节点
cur->next = pre; //反转cue的指针指向null
pre = cur; //移动pre
cur = temp; //移动cur
}
head = pre; //head头指针移到pre的位置,此时pre在新链表的开头
return head;
}
};