首页 > 其他分享 >01_移除链表元素

01_移除链表元素

时间:2023-10-23 22:34:03浏览次数:35  
标签:head 01 ListNode cur val next 链表 移除

移除链表元素

题意:删除链表中等于给定值 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 输出:[]

203. 移除链表元素

实现代码如下:(本代码是通过带头节点的单链表来实现的)

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
 /**
    定义一个带头节点的单链表
 */
class Solution {
    public ListNode removeElements(ListNode head, int val) {
        if (head == null) {
            return head;
        }
        ListNode dummy = new ListNode(-1, head);
        ListNode pre = dummy;//待删除节点的前一个节点
        ListNode cur = head;//cur是当前待删除节点
        while (cur != null) {
            if (cur.val == val) {
                pre.next = cur.next;
            } else {
                pre = cur;
            }
            cur = cur.next;  //cur指针向后移动
        }
        return dummy.next;
    }
}

标签:head,01,ListNode,cur,val,next,链表,移除
From: https://www.cnblogs.com/codingbao/p/17783652.html

相关文章

  • [20231013]为什么刷新缓存后输出记录顺序发生变化3.txt
    [20231013]为什么刷新缓存后输出记录顺序发生变化3.txt--//当年提的问题,链接http://blog.itpub.net/267265/viewspace-2763181/=>[20210316]为什么刷新缓存后输出记录顺序发生变化.txt,--//正好别人问我,顺便我重复看了一下,顺便解答这个问题,实际上也许解答不对,许多行为我仅仅是猜测......
  • [20231013]rename IDL_UB1$的恢复.txt
    [20231013]renameIDL_UB1$的恢复.txt--//看了https://www.anbob.com/archives/7545.html链接,对方rename操作,导致无法建立表操作.--//idl_ub1$表是用来存储PL/SQL的代码单元的,包括DIANA等,IDL在这里代表InterfaceDefinitionLanguage.--//这个对象的含义可以从Ixora找到一点提示......
  • [20231016]增加字段与统计分析问题.txt
    [20231016]增加字段与统计分析问题.txt--//oracle从12c引入了volatiletables概念,所谓volatiletables可以理解为频繁DML的表,通过sys.optstat_snapshot$了解生产系统验--//证一些dml比较多的表的操作情况。但是通过修改表结构,增加字段也可能在特定情况下触发统计分析,自己通过......
  • [20231019]rename IDL_UB1$的恢复测试前准备.txt
    [20231019]renameIDL_UB1$的恢复测试前准备.txt--//前几天看了https://www.anbob.com/archives/7545.html链接,对方renameIDL_UB1$表操作,导致无法建立表操作使用包的语句都有问题.--//测试时遇到许多其他事情打断了恢复工作,最后我仅仅简单尝试了修改数据字典obj$的恢复方式。--......
  • LeetCode | 19. 删除链表的倒数第 N 个结点
    1相关标签链表、双指针、C语言2报错情况2.1题目给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。2.2错误代码/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNo......
  • Visual Studio 2017标准库、 Windows SDK 10标准库目录
    VisualStudio2017标准库VC\Tools\MSVC\14.16.27023\include目录包含了VisualC++14.16.27023版本的标准库头文件(也就是VC++2017版本),包括、、等常用头文件。这些头文件定义了各种数据类型、函数、类等,供程序员使用。如果你使用VisualStudio2017或更高版本进行开发......
  • 01_jmeter安装与说明
    一、jmeter简介JMeter,一个100%的纯Java桌面应用,由Apache组织的开放源代码项目,它是功能和性能测试的工具。具有高可扩展性、支持Web(HTTP/HTTPS)、SOAP、FTP、JAVA等多种协议的特点。官方网站:https://jmeter.apache.org/二、Jmeter安装与配置1、本机配置好Java环境变量2......
  • 01-蓝牙基础知识
    目录一.蓝牙广播1.蓝牙信道一.蓝牙广播1.蓝牙信道低功耗蓝牙一共有40个信道,范围从2402MHz-2480MHz每2MHz一个信道.......
  • 01. 网络基础
    一、什么网络通信  计算机网络把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的网络系统,从而使众多的计算机可以方便的互相传递信息、共享硬件、软件、数据信息等资源。网络编程直接或间接地通过网络协议与其它计算机实现数据交换,进行通信。......
  • P4253 [SCOI2015] 小凸玩密室
    P4253bzoj#4446非常好的一道树形dp题起初我看错题了QwQ,以为第一个选的必须为根首先我们发现假设我们选的第一个灯泡为\(u\),他的行走过程是:\(u\rightarrowu\)子树\(\rightarrowfa_u\rightarrowu\)兄弟子树\(\rightarrowfa_{fa_u}\rightarrow\dots\)因此我......