代码如下
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func removeElements(head *ListNode, val int) *ListNode {
prehead := &ListNode{} //设置一个虚拟头结点
prehead.Next = head //虚拟头结点指向头结点
cur := prehead //设置遍历指针
for cur != nil && cur.Next != nil { //遍历的终止条件,如果当前节点为空,或者当前节点为尾结点
if cur.Next.Val == val { //如果下一个节点的值等于目标值,则需要删除下一个节点,下一个节点则为删除的目标节点。
cur.Next = cur.Next.Next //所以需要将目标节点指向的下一个节点的指针赋给当前指针指向目标节点的指针
}else {
cur = cur.Next //如果不是目标值,节点向后移动
}
}
newhead := prehead.Next
return newhead 文章来源:https://www.toymoban.com/news/detail-438575.html
}文章来源地址https://www.toymoban.com/news/detail-438575.html
到了这里,关于代码随想录复习 203 移除链表元素的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!