专栏首页LeetCode解题203. 移除链表元素
原创

203. 移除链表元素

203. 移除链表元素

链接

删除链表中等于给定值 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
}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 203.移除链表元素

    Christal_R
  • 203. 移除链表元素

    https://leetcode-cn.com/problems/remove-linked-list-elements/description/

    lucifer210
  • 203. 移除链表元素

    CaesarChang张旭
  • LeetCode 203:移除链表元素

    Remove all elements from a linked list of integers that have value val.

    爱写bug
  • LeetCode 203:移除链表元素

    Remove all elements from a linked list of integers that have value val.

    爱写bug
  • LeetCode 203. 移除链表元素

    Michael阿明
  • 移除链表元素

    此时可以通过哨兵节点去解决它,哨兵节点广泛应用于树和链表的中,如伪头,伪尾,标记等,他们是纯功能的,通常不保存任何数据,其目的就是使得链表标准化,如使链表永不为...

    木子星兮
  • 移除链表元素

    通过初始化哨兵节点node并赋值为0,且next指向head,通过prev遍历node,当prev.next的val值与val值相等时,指针右移。最后输出nod...

    _kyle
  • LeetCode155|移除链表元素

    一个是基于哨兵节点的方式进行解决,另一个是基于java集合的方式来做,本质上还是一样的

    码农王同学

扫码关注云+社区

领取腾讯云代金券