题目描述
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL
思路
- 我们把链表看做两部分,第一部分为反转后的链表,第二部分为未反转的链表。
- 定义一个next指针,始终指向反转后的那一部分链表。
- 定义一个prev指针,始终指向未反转的那一部分链表。
- 把next和prev指针都初始化指向NULL,然后判断当前指针是否为空的条件,进入到循环中。
- 在循环中
① next指针指向下个节点(用于保存下一个节点信息)。
② 保存信息后,那么当前节点应该直接指向prev(已经反转的链表,初始状态为NULL)。
③ 按照上一步,当前节点已经反转,那么prev应该指向当前节点。
④ 当前节点向下走一步,即指向原来下一节点(已保存在