力扣链接:
https://leetcode-cn.com/probl...
解题思路:
- 本题要求删除链表中值为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}