LintCode_452_删除链表中的元素

来源:互联网 发布:比较矩阵元素 编辑:程序博客网 时间:2024/06/03 15:13

问题描述

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

样例

给出链表 1->2->3->3->4->5->3, 和 val = 3,
你需要返回删除3之后的链表:1->2->4->5。

求解

class Solution {public:    /**     * @param head a ListNode     * @param val an integer     * @return a ListNode     */    ListNode *removeElements(ListNode *head, int val) {        ListNode dummy{0};        dummy.next = head;        auto prev = &dummy, curr = dummy.next;        while (curr) {            if (curr->val == val) {                prev->next = curr->next;                delete curr;            } else {                prev = curr;            }            curr = curr->next;        }        return dummy.next;    }};
原创粉丝点击