力扣链表基础之反转链表 发表于 2022-02-13 题目:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 12输入:head = [1,2,3,4,5]输出:[5,4,3,2,1] 思路 首先定义一个pre指针指向nil, 然后定义一个cur指向头节点。然后开始翻转: 首先把cur->next节点用tmp指针保存一下,接下来改变cur-next的指向,将cur->next指向pre. 随后依次更新pre和cur。 代码 12345678910111213141516type ListNode struct { Val int Next *ListNode}func reverseList(head *ListNode) *ListNode { var pre *ListNode cur := head for cur != nil { tmp := cur.Next cur.Next = pre pre = cur cur = tmp } return pre}