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;
    }
}
相关推荐
程序员小凯1 小时前
Spring Boot文件处理与存储详解
java·spring boot·后端
tao3556672 小时前
【Python刷力扣hot100】42. Trapping Rain Water
开发语言·python·leetcode
Miraitowa_cheems2 小时前
LeetCode算法日记 - Day 88: 环绕字符串中唯一的子字符串
java·数据结构·算法·leetcode·深度优先·动态规划
黑云压城After3 小时前
vue2实现图片自定义裁剪功能(uniapp)
java·前端·javascript
B站_计算机毕业设计之家3 小时前
python电商商品评论数据分析可视化系统 爬虫 数据采集 Flask框架 NLP情感分析 LDA主题分析 Bayes评论分类(源码) ✅
大数据·hadoop·爬虫·python·算法·数据分析·1024程序员节
小白菜又菜4 小时前
Leetcode 1518. Water Bottles
算法·leetcode·职场和发展
长存祈月心4 小时前
Rust Option 与 Result深度解析
算法
zcl_19914 小时前
记一次ThreadLocal导致的生产事故
java
RoboWizard4 小时前
怎么判断我的电脑是否支持PCIe 5.0 SSD?Kingston FURY Renegade G5
java·spring·智能手机·电脑·金士顿
杭州杭州杭州4 小时前
机器学习(3)---线性算法,决策树,神经网络,支持向量机
算法·决策树·机器学习