LeetCode | 203. 移除链表元素

LeetCode | 203. 移除链表元素

OJ链接

  • 这里有两个思路我接下来看

  • 当cur不等于6就一直找,找到了6就删除,但是能不能直接删除?不能,直接free了就找不到下一个了

  • 这个时候我们就要定义next指针,和prev指针,next指针保存cur的下一个地址,prev保存cur的前一个地址

代码如下:

c 复制代码
struct ListNode* removeElements(struct ListNode* head, int val) {
    struct ListNode* prev = NULL;
    struct ListNode* cur=head;
    while(cur != NULL)
    {
        if(cur->val == val)
        {
            struct ListNode* next = cur->next;
            free(cur);
            if(prev)
                prev->next = next;
            else
                head = next;
            cur = next;
        }
        else
        {
            prev = cur;
            cur = cur->next;
        }
    }
    return head;
}
相关推荐
草履虫建模16 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
naruto_lnq19 小时前
分布式系统安全通信
开发语言·c++·算法
Jasmine_llq19 小时前
《P3157 [CQOI2011] 动态逆序对》
算法·cdq 分治·动态问题静态化+双向偏序统计·树状数组(高效统计元素大小关系·排序算法(预处理偏序和时间戳)·前缀和(合并单个贡献为总逆序对·动态问题静态化
爱吃rabbit的mq19 小时前
第09章:随机森林:集成学习的威力
算法·随机森林·集成学习
(❁´◡`❁)Jimmy(❁´◡`❁)20 小时前
Exgcd 学习笔记
笔记·学习·算法
YYuCChi21 小时前
代码随想录算法训练营第三十七天 | 52.携带研究材料(卡码网)、518.零钱兑换||、377.组合总和IV、57.爬楼梯(卡码网)
算法·动态规划
不能隔夜的咖喱21 小时前
牛客网刷题(2)
java·开发语言·算法
VT.馒头21 小时前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
进击的小头21 小时前
实战案例:51单片机低功耗场景下的简易滤波实现
c语言·单片机·算法·51单片机
咖丨喱1 天前
IP校验和算法解析与实现
网络·tcp/ip·算法