LeetCode.206翻转链表
先看图,尽量自己画一遍
- head负责存当前的链表
- pre负责存当前的链表上一个的链表(也就是你期望翻转后的下一个链表)
- next负责存当前的链表的下一个链表,为了移动head去存
Golang代码
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func reverseList(head *ListNode) *ListNode {
var pre *ListNode
var next *ListNode
for head != nil {
next = head.Next
head.Next = pre
pre = head
head = next
}
return pre
}