【Java 数据结构】移除链表元素

🔥 博客主页**🔥** :【 坊钰_CSDN博客

欢迎各位点赞**👍** 评论**✍收藏⭐**

目录

[1. 题目](#1. 题目)

[2. 解析](#2. 解析)

[3. 代码实现](#3. 代码实现)

[4. 小结](#4. 小结)


题目出处:203. 移除链表元素 - 力扣(LeetCode)

1. 题目

给你一个链表的头节点 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
输出:[]

2. 解析

  • 先创建一个前头部节点,用来存放头节点,便于后续遍历和删除
  • 用 dehead != null 的条件来依次遍历链表,遇到要删除的值,进行删除操作
  • 最后返回头部节点,也就是 dehead.next 即可

3. 代码实现

java 复制代码
class Solution {
    public ListNode removeElements(ListNode head, int val) {
        ListNode dehead = new ListNode(0);
        dehead.next = head;
        ListNode ret = dehead;
        while (ret.next != null) {
            if (ret.next.val == val) {
                ret.next = ret.next.next;
            } else {
                ret = ret.next;
            }
        }
        return dehead.next;
    }
}

4. 小结

以上就是对该题的了解,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持

相关推荐
野生技术架构师10 分钟前
1000+ Java面试题知识图谱:从基础语法到分布式架构的完整拓扑
java·面试
步行cgn10 分钟前
Spring 底层如何创建对象:反射机制与实例化策略
java·后端·spring
郝学胜-神的一滴12 分钟前
Effective Python 条款 13:善用星号解包,告别下标切片拆分的坑
服务器·开发语言·数据结构·python·程序人生·pycharm
一水鉴天14 分钟前
词、术语、概念:从特征集收束到统一拓扑变换的升格与降格模型 20260915(豆包)
开发语言·人工智能
Logic10125 分钟前
C语言/数据结构位运算题解:异或XOR找出流水线上的“独特零件编号“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
何以解忧,唯有..35 分钟前
Redis 过期事件监听:原理与实战
java
weixin_3077791343 分钟前
C++代码实现MATLAB中的ode45函数功能
开发语言·c++·算法·matlab
风中的小熊生气1 小时前
Spring Boot 面试知识(二):分层、IoC、异常、配置与 Redis
java·springboot
泡茶喝茶写代码1 小时前
量化数据开发实战系列(第 25 篇):基金基础接口实战:基金列表、ETF-LOF 分类、基金概况、净值数据
java·数据库·人工智能·python·mysql