通用技巧
链表中关键的技巧
虚拟头节点
dummy:=&ListNode{-1,head}
p:=head
//用p参与算法,dummy不受影响
return dummy.Next
双指针
slow, fast := head, head
slow=slow.Next
fast=fast.Next.Next
//通常用于获取链表长度,获取特定规则的节点
断点
temp:=p.Next
p.Next=nil
p=temp
//p的下个节点为nil,让节点之间断开
反转结点
var pre *ListNode //var初始化是nil,不能用pre:=&ListNode{},会导致多处一个节点
// 当前节点连接前一个节点
next:=head.Next
head.Next=pre
pre=head
head:=next
Last updated