leetcode203
首先设置虚拟头节点dummyHead,让虚拟头结点指向原头节点,这样如果头结点需要移除的时候就不用考虑多种情况了,再让cur当前节点指向头结点,如果头结点和头结点的下一个节点不为空, 那么如果当前节点的值等于target,则当前节点的next=cur.next.next
否则,当前cur = cur.next,让当前节点指向下一个节点
type ListNode struct{
Val int
Next *ListNode
}
func removeElements(head *ListNode, val int) *ListNode {
dummyHead := &ListNode{}
dummyHead.Next = head
cur := dummyHead
for dummyHead.Next!=nil&&cur.Next!=nil{
if cur.Next.Val == val{
cur.Next = cur.Next.Next
}else{
cur = cur.Next
}
}
return dummyHead.Next
}