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;
    }
}
相关推荐
学嵌入式的小杨同学13 小时前
C 语言实战:动态规划求解最长公共子串(连续),附完整实现与优化
数据结构·c++·算法·unity·游戏引擎·代理模式
阿里-于怀13 小时前
AgentScope AutoContextMemory:告别 Agent 上下文焦虑
android·java·数据库·agentscope
OpenTiny社区13 小时前
TinyPro v1.4.0 正式发布:支持 Spring Boot、移动端适配、新增卡片列表和高级表单页面
java·前端·spring boot·后端·开源·opentiny
lonelyhiker13 小时前
IDEA未编译完就启动项目的问题
java·ide·intellij-idea
rgeshfgreh13 小时前
顺序表实战:构建到销毁全解析
算法
十八岁讨厌编程13 小时前
【算法训练营Day32】图论专题
算法·深度优先·图论
月入2k没钱吃饭没得朋友还被迫加班13 小时前
meterSphere二开遇到的问题
java
aloha_78913 小时前
langchain4j如何使用mcp
java·人工智能·python·langchain
小欣加油13 小时前
leetcode 174 地下城游戏
c++·算法·leetcode·职场和发展·动态规划
小希smallxi14 小时前
Java 程序调用 FFmpeg 教程
java·python·ffmpeg