当前位置: 首页 > article >正文

LeetCode 203. 移除链表元素(java)

目录

题目描述:

代码:

第一种:

第二种:


题目描述:

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

代码:

第一种:

// 删除链表中等于给定值 val 的所有节点。使用的是哨兵节点


    public ListNode removeElements1(ListNode head, int val) {
        ListNode s=new ListNode(-1, head);
        ListNode p1=s;
        ListNode p2=s.next;
        while(p2!=null){
            if(p2.value==val){
                //删除
                p1.next=p2.next;
                p2=p2.next;
            }else{
                p1=p2;
                p2=p2.next;
            }
        }
        return s.next;
    }

第二种:

递归

public ListNode removeElements(ListNode head, int val) {
        if(head==null){
            return null;
        }
        if(head.value==val){
            return removeElements(head.next, val);//相等,返回下一个节点
        }else{
            head.next=removeElements(head.next, val);//不相等,返回当前节点,让当前节点的next更新
            return head;
        }
    }


http://www.kler.cn/a/378882.html

相关文章:

  • Linux(inode + 软硬链接 图片+大白话)
  • (七)JavaWeb后端开发——Maven
  • 【ChatGPT】如何将ChatGPT的回答与外部数据进行结合
  • 非线性数据结构之图
  • 光耦合器的关键作用和创新---腾恩科技
  • 证书下行,这些高质量IT证书仍值得考
  • Android面试整理
  • 【热门主题】000027 React:前端框架的强大力量
  • [C++]:智能指针
  • 大数据之——Window电脑本地配置hadoop系统(100%包避坑!!方便日常测试,不用再去虚拟机那么麻烦)
  • Python画笔案例-095 绘制鼠标画笔
  • [java][基础]HTTPTomcatServlet
  • 高防服务器都有哪些类型?
  • Java 正则基础
  • 生成对抗网络(GAN)如何推动AIGC的发展
  • MacOS如何读取磁盘原始的扇区内容,恢复误删除的数据
  • 【IC每日一题--单bitCDC跨时钟和同步FIFO】
  • [ 应急响应靶场实战 ] VMware 搭建win server 2012应急响应靶机 攻击者获取服务器权限上传恶意病毒 防守方人员应急响应并溯源
  • ssm基于vue搭建的新闻网站+vue
  • Python+Selenium+Pytest+POM自动化测试框架封装
  • 机器学习的模型评估与选择
  • Msys mingw32编译报错 CMake Error: Could not create named generator MSYS Makefiles
  • DIP(Deep Image Prior,深度图像先验)和DMs(Diffusion Models,扩散模型)
  • CytoSPACE·单细胞与空间转录组的高精度对齐
  • API网关 - JWT认证 ; 原理概述与具体实践样例
  • 【06】A-Maven项目SVN设置忽略文件