题目定义
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
输入输出示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
解决思路:
1、初始状态

2、设置三个指针:pre最开始指向null,cur指向head开头,next指向cur的next

3、让cur指向的结点next连接pre所指,依次往后指向下一个,至所有结点反转

代码实现:
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* cur=head;
ListNode* pre=nullptr;
while(cur)
{
ListNode* next=cur->next;
cur->next=pre;
pre=cur;
cur=next;
}
return pre;
}
};