【Leetcode】203. 移除链表元素

203. 移除链表元素

    • 题目
    • 代码

题目

【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
}

你可能感兴趣的:(#,代码随想录,#,LeetCode,leetcode,链表,算法)