【LeetCode】203. Remove Linked List Elements

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

Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5

在链表中移除目标值。 也是维护一个dummy node,当下一节点的值为val值时,设置下一节点 = 下一节点.下一节点,之后进行下一次判断,否则当前节点移动到下一节点。

class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        //开辟一个新结点,
        if(head == NULL) return NULL;
        ListNode* dummy = new ListNode(0);
        dummy->next = head;
        head = dummy;
        while(head->next != NULL)
        {
            if(head->next->val == val)
            {
                head->next = head->next->next;
            }
            else
            {
                head= head->next;
            }
        }
        return dummy->next;
    }
};


你可能感兴趣的:(【LeetCode】203. Remove Linked List Elements)