203. Remove Linked List Elements

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

Example:

Input:  1->2->6->3->4->5->6, val = 6
Output: 1->2->3->4->5

如果第一个数字,就需要删除,那么需要重置head。所以自己构建1个myHead。

public ListNode RemoveElements(ListNode head, int val)
        {
            ListNode myHead = new ListNode(0);
            myHead.next = head;
            ListNode current = head;
            ListNode currentPrev = myHead;
            while (current != null)
            {
                if (current.val == val)
                {
                    current = current.next;
                    currentPrev.next = current;
                }
                else
                {
                    currentPrev = current;
                    current = current.next;
                }
            }

            return myHead.next;
        }

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

Example:

Input:  1->2->6->3->4->5->6, val = 6
Output: 1->2->3->4->5
原文地址:https://www.cnblogs.com/chucklu/p/10504943.html