LeetCode_Java_移除链表元素(题目+思路+代码)

203.移除链表元素

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

示例 1:

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

思路:

1.先判断head节点是否为空且是否head的属性值是否等于val-->若等于val值,则将head.next赋给head(删除head值)

2.创建一个节点,将判断后的头节点(即第一步骤后的head.next)赋给node

3.判断非头结点是否为空与下一个值是否为空

->如果node.next.val == val值,则将node.next.next的值赋给node.next

->如果node.next.val != val值,则将node.next的值赋给node

第三步骤已将非头结点与val相等的元素移除

最后返回head即可

java 复制代码
class Solution {
    public ListNode removeElements(ListNode head, int val) {
        while(head!=null&&head.val==val){
            head = head.next;
        }
        ListNode node = head;
        while(node != null && node.next != null){
            if(node.next.val == val)
                node.next = node.next.next;
            else
                node = node.next;
        }
        return head;
    }
}
相关推荐
云烟成雨TD1 天前
Spring AI Alibaba 1.x 系列【26】Skills 生命周期深度解析
java·人工智能·spring
Pkmer1 天前
古法编程: 深度解析Java调度器Timer
java·后端
BduL OWED1 天前
将 vue3 项目打包后部署在 springboot 项目运行
java·spring boot·后端
6Hzlia1 天前
【Hot 100 刷题计划】 LeetCode 394. 字符串解码 | C++ 单栈回压法
c++·算法·leetcode
riNt PTIP1 天前
怎么下载安装yarn
java
imuliuliang1 天前
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(上)
java·spring boot·后端
微刻时光1 天前
影刀RPA:循环相似元素列表深度解析与实战指南
java·人工智能·python·机器人·自动化·rpa·影刀
豆瓣鸡1 天前
Redis笔记(黑马点评)
java·redis·nosql
穿条秋裤到处跑1 天前
每日一道leetcode(2026.04.22):距离字典两次编辑以内的单词
算法·leetcode
淘矿人1 天前
Claude辅助算法设计与优化
人工智能·python·算法·microsoft·github·bug·pygame