删除链表中等于给定值 val 的所有节点。
示例
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
思路
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func removeElements(head *ListNode, val int) *ListNode {
headPre := ListNode{Next: head} // 新建一个虚拟节点
temp := &headPre
for temp.Next != nil {
if temp.Next.Val == val {
// 删除符合条件的节点
temp.Next = temp.Next.Next
} else {
temp = temp.Next
}
}
return headPre.Next
}