leetcode做题笔记203. 移除链表元素

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点

示例 1:

复制代码
输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

示例 2:

复制代码
输入:head = [], val = 1
输出:[]

示例 3:

复制代码
输入:head = [7,7,7,7], val = 7
输出:[]

思路一:另设一个头节点

c++解法

cpp 复制代码
class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        ListNode *dummy = new ListNode();
        dummy->next = head;
        ListNode *cur = dummy;
        while(cur->next!=nullptr){
            if(cur->next->val==val){
                cur->next = cur->next->next;
            }else{
                cur = cur->next;
            }
        }
        return dummy->next;
    }
};

分析:

因为头节点可能出现目标值,所以设置一个头节点判断原头节点是否与目标值匹配,若匹配则删除,最后将中间遇到的各个符合的值将指向它的节点指向下一个节点,返回答案即可

总结:

本题考察链表问题,利用设置头节点方法可以解决

相关推荐
芯思路1 小时前
STM32开发学习笔记之三【按键】
笔记·stm32·学习
Lips6111 小时前
2026.1.11力扣刷题笔记
笔记·算法·leetcode
袁气满满~_~2 小时前
Python数据分析学习
开发语言·笔记·python·学习
njsgcs3 小时前
ppo 找出口模型 训练笔记
人工智能·笔记
wen__xvn3 小时前
代码随想录算法训练营DAY14第六章 二叉树 part02
数据结构·算法·leetcode
Ka1Yan4 小时前
[数组] - 代码随想录(2-6)
数据结构·算法·leetcode
你要飞4 小时前
考研线代第四课:线性方程组
笔记·线性代数·考研·矩阵
week_泽4 小时前
第5课:短期记忆与长期记忆原理 - 学习笔记_5
java·笔记·学习·ai agent
漫随流水4 小时前
leetcode算法(104.二叉树的最大深度)
数据结构·算法·leetcode·二叉树
日更嵌入式的打工仔4 小时前
嵌入式系统设计师软考个人笔记<1>
笔记