链表 203.移除链表元素 虚拟头结点

news/2024/9/25 23:18:37/

普通方法

头节点要和其他节点分开考虑,因为头节点没有上一个节点,不能通过更改上一个结点的指针来达到删除节点的目的

所以要让下一个节点成为头节点,其余节点,通过更改上一个节点的next指针,指向next.next

class Solution {public ListNode removeElements(ListNode head, int val) {while(head != null  && head.val==val){head = head.next;}ListNode cur = head;while(cur != null && cur.next != null){if(cur.next.val == val){cur.next = cur.next.next;}else{cur = cur.next;}}return head;}
}

虚拟头节点

设置一个虚拟头节点,头节点拥有前一个节点,使链表上所有节点的操作方式同一

class Solution {public ListNode removeElements(ListNode head, int val) {ListNode dummy = new ListNode();dummy.next = head;ListNode cur = dummy;while(cur.next != null){if(cur.next.val == val){cur.next = cur.next.next;}else{cur = cur.next;}}return dummy.next;}
}

http://www.ppmy.cn/news/1508714.html

相关文章

如何在 Windows 上设置 MacOS 云主机

在Windows上设置MacOS云主机实际上涉及在Windows环境中模拟或远程管理MacOS系统,因为直接在Windows上运行MacOS作为云主机的主操作系统是不可能的,因为MacOS是为苹果硬件设计的。不过,有几种方法可以实现类似的功能: 1. 使用虚拟机…

LVS理论知识

目录 1.描述以及工作原理 1.什么是LVS 2.LVS调度算法 1.静态调度算法 1.轮询RR 2.加权轮询WRR 3.目标地址hash---DH 4.源地址hash---SH 2.动态调度算法 1.LC最少连接 2.wlc加权最少连接 3.sed最少期望延迟 4.nq不排队调度算法 5.lblc基于本地最少连接 6.lnlcr带…

8.8 day bug

bug1 好家伙,最后一个t没看到,愣是学了一个小时原理和用法,都找不出问题在哪

教程:申请IP SSL证书

现在通过IP访问网站的方式也流行起来了,对于很多企业或是组织单位,申请域名不仅需要额外支付域名费用,还需要走备案流程,这对于很多单位来说显得麻烦了一些,所以利用IP直接进行网站访问也是必要的。 但是正常情况下IP…

达梦数据库 逻辑备份还原

达梦的逻辑备份还原 1.背景2.要求3.实验步骤3.1 相关术语3.2 dexp逻辑导出3.2.1 使用dexp工具3.2.2 dexp相关参数含义3.2.3 四种级别导出3.2.3.1 FULL3.2.3.2 OWNER3.2.3.3 SCHEMAS3.2.3.4 TABLES 3.2.4 使用范例3.2.4.1 环境准备3.2.4.2 dexp逻辑导出 3.3 dimp逻辑导入3.3.1 使…

一、软件工程概述

软件工程概述 1. 软件的概念和特点2. 软件危机的产生3. 软件工程的概念和发展过程4. 软件工程知识体系与职业道德 1. 软件的概念和特点 软件定义 软件程序数据文档。 软件生存周期 问题定义:要解决的问题是什么?可行性分析:对于上阶段所确定…

设计模式六大原则(一)——单一职责原则

随着软件开发的复杂度日益增加,维护性和可扩展性成为开发者必须关注的重要因素。设计模式通过提供一系列可重用的解决方案,帮助开发者在设计和实现软件时形成良好的实践。其中,单一职责原则作为设计模式的基石,倡导每个模块、类或…

Tomcat 最大连接数实现原理

spring boot 内置tomcat设置连接数 max-connections: 5 server:port: 9898servlet:context-path: /testtomcat:connection-timeout: 5000max-connections: 5accept-count: 5 ##初始化连接数量connectionLimitLatch protected LimitLatch initializeConnectionLatch() {if (ma…