题目:给定单向链表的头指针和一个节点指针,在O(1)时间内删除链表节点。
type Node struct {
val int
next *Node
}
func deleteNode(head *Node, target *Node) *Node {
if head == nil || head.next == nil {
return nil
}
if head == target {
return head.next
}
p, q := head, head.next
for q != target {
p = q
q = q.next
}
p.next = q.next
q = nil
return head
}