LEEDCODE 203移除链表元素

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */

class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        if(head == nullptr)
        {
            return nullptr;
        }
        ListNode* _dummyhead = new ListNode(0);
        _dummyhead->next = head;

        ListNode* pre = _dummyhead;
        ListNode* cur = _dummyhead->next;
        while(cur)
        {
            if(cur->val == val)
            {
                ListNode* p = cur;
                pre->next = cur->next;
                cur = cur->next;
                delete p;

            }
            else
            {
                cur = cur->next;
                pre = pre->next;

            }
        }
        return _dummyhead->next;

        
    }
};
相关推荐
流年如夢1 天前
排序算法详解
数据结构·算法·排序算法
z200509301 天前
今日算法(二叉树)
数据结构·c++·算法
故事和你911 天前
洛谷-【图论2-2】最短路1
开发语言·数据结构·c++·算法·动态规划·图论
Simple-Soft1 天前
指针的高级应用与技巧 - C语言的灵魂
c语言·数据结构·算法
Controller-Inversion1 天前
23. 合并 K 个升序链表
数据结构·链表
Mr_pyx1 天前
面试题记录
jvm·数据结构·算法·spring·mybatis
努力努力再努力wz1 天前
【C++高阶数据结构系列】:时间轮定时器详解:原理分析与代码实现,带你从零手撕时间轮!(附时间轮的实现源码)
c语言·开发语言·数据结构·c++·qt·算法·ui
iiiiyu1 天前
⾯向对象和集合编程题
java·大数据·开发语言·数据结构·编程语言
YuanDaima20481 天前
贪心算法基础原理与题目说明
数据结构·人工智能·python·算法·贪心算法·手撕代码