题目
【Leetcode】203. 移除链表元素
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点
代码
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func removeElements(head *ListNode, val int) *ListNode {
// 初始化一个链表指针
dummy := &ListNode{}
p := dummy
// 枚举链表
for ; head != nil; head = head.Next {
// 如果当前节点的值不等于目标值,则让尾指针指向当前节点,并移动尾指针
if head.Val != val {
p.Next = head
p = head
}
}
// 让尾指针指向nil
p.Next = nil
return dummy.Next
}