LeetCode 203. 移除链表元素

1. 题目

删除链表中等于给定值 val 的所有节点。

示例:
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5

2. 解题

类似题目:剑指Offer - 面试题18. 删除链表的节点

class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
    	ListNode *emptyHead = new ListNode(-1);
    	emptyHead->next = head;
        ListNode *cur = head, *prev = emptyHead;
        while(cur != NULL)
        {
        	if(cur->val == val)
        	{
        		prev->next = cur->next;
        		cur = prev->next;
        	}
        	else
        	{
        		cur = cur->next;
        		prev = prev->next;
        	}
        }
        return emptyHead->next;
    }
};

36 ms 11 MB

你可能感兴趣的:(LeetCode)