反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
解题思路:双指针迭代法
- 定义两个指针pre、cur,pre保存前一节点的信息,cur指向当前节点。
- 将pre指向空,cur指向头结点;
- 当cur指针不为空时(链表不为空),双指针迭代反转链表:
将cur指针的下一节点信息保存在临时变量中
将cur指针指向pre节点;
pre指针往后移动
cur指针往后移动
当cur指针指向空时,返回pre指针节点为反转后的头结点,返回pre。
图解参考:图解.