Skip to content

Latest commit

 

History

History
25 lines (20 loc) · 582 Bytes

18. 删除链表的节点.md

File metadata and controls

25 lines (20 loc) · 582 Bytes

解题思路

1. 虚拟头节点

使用虚拟头节点可以保证删除操作的一致性,不必单独为头节点删除做额外处理

func deleteNode(head *ListNode, val int) *ListNode {
    dumpHead := &ListNode{Next:head}
    prev := dumpHead
    for prev != nil && prev.Next != nil {
        // 当发现下一节点需要删除
        // Next 直接跳过下一节点
        if prev.Next.Val == val {
            prev.Next = prev.Next.Next
        }
        prev = prev.Next
    }
    return dumpHead.Next
}