Leetcode专题[链表]-203-移除链表元素

力扣链接:
https://leetcode-cn.com/probl...
解题思路:

  1. 本题要求删除链表中值为val的节点,我们在处理链表问题的时候,由于头节点比较特殊,与其他节点的处理方式不同,为了保持所有节点的处理方式相同,我们使用一个虚拟节点作为头节点,指向链表的真正头节点,最后返回的时候返回虚拟节点的下一个节点即可
type ListNode struct {
    val int
    next *ListNode
}
func removeElements(head *ListNode, val int) *ListNode {  // 判断当前和当前的下一位是否为空
    dummyHead := &ListNode{}
    dummyHead.Next = head
    cur := dummyHead
    for cur != nil && cur.Next != nil {
         if cur.Next.Val == val {
            cur.Next = cur.Next.Next
         }
        cur = cur.Next
    }
    return dummyHead.Next
}

你可能感兴趣的:(golang)