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;
    }
}
相关推荐
星火开发设计4 小时前
Java面向对象三大特性:封装、继承与多态的深度解析及实战
java·开发语言·microsoft·多态·继承·面向对象·封装
葫三生4 小时前
三生原理范畴语法表明中国哲学可为算法母语
人工智能·深度学习·算法·transformer
hhzz4 小时前
EasyPoi的核心映射工具:@Excel注解详解
java·服务器·excel·springboot·easypoi
D_FW4 小时前
数据结构第五章:树与二叉树
数据结构·算法
码农小卡拉5 小时前
数据库:主键 VS 唯一索引 区别详解
java·数据库·sql
WHS-_-20225 小时前
Tx and Rx IQ Imbalance Compensation for JCAS in 5G NR
javascript·算法·5g
e***98575 小时前
Java性能优化实战:从原理到案例
java·开发语言·性能优化
jinmo_C++5 小时前
Leetcode_59. 螺旋矩阵 II
算法·leetcode·矩阵
夏鹏今天学习了吗5 小时前
【LeetCode热题100(81/100)】零钱兑换
算法·leetcode·职场和发展
北京地铁1号线5 小时前
Embedding 模型的经典benchmark:MTEB
算法