题目描述
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
思路
拿好三个指针,cur,pre,next
- next是用来临时保存下次要遍历的节点
- pre是用来临时保存上次遍历过的节点
- cur是修改节点,作用是修改Next变量,指向pre
题解
func reverseList(head *ListNode) *ListNode {
var pre *ListNode
cur := head
var next *ListNode
for cur != nil{
next = cur.Next
cur.Next = pre
pre = cur
cur = next
}
return pre
}