【LeetCode:2095. 删除链表的中间节点 + 链表】

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 链表
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 2095. 删除链表的中间节点

⛲ 题目描述

给你一个链表的头节点 head 。删除 链表的 中间节点 ,并返回修改后的链表的头节点 head 。

长度为 n 链表的中间节点是从头数起第 ⌊n / 2⌋ 个节点(下标从 0 开始),其中 ⌊x⌋ 表示小于或等于 x 的最大整数。

对于 n = 1、2、3、4 和 5 的情况,中间节点的下标分别是 0、1、1、2 和 2 。

示例 1:

在这里插入图片描述

输入:head = [1,3,4,7,1,2,6]
输出:[1,3,4,1,2,6]
解释:
上图表示给出的链表。节点的下标分别标注在每个节点的下方。
由于 n = 7 ,值为 7 的节点 3 是中间节点,用红色标注。
返回结果为移除节点后的新链表。
示例 2:

在这里插入图片描述

输入:head = [1,2,3,4]
输出:[1,2,4]
解释:
上图表示给出的链表。
对于 n = 4 ,值为 3 的节点 2 是中间节点,用红色标注。
示例 3:

在这里插入图片描述

输入:head = [2,1]
输出:[2]
解释:
上图表示给出的链表。
对于 n = 2 ,值为 1 的节点 1 是中间节点,用红色标注。
值为 2 的节点 0 是移除节点 1 后剩下的唯一一个节点。

提示:

链表中节点的数目在范围 [1, 105] 内
1 <= Node.val <= 105

🌟 求解思路&实现代码&运行结果


⚡ 链表

🥦 求解思路
  1. 该题目我们通过快慢指针来求解,快指针走到末尾,此时慢指针正好来到了链表的中间,我们在此过程中,额外维护一个pre变量,用来表示当前节点的前一个节点。
  2. 最后,将pre的next指向此时慢指针的next即可。
  3. 有了基本的思路,接下来我们就来通过代码来实现一下。
🥦 实现代码
/*** 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 deleteMiddle(ListNode head) {if (head == null || head.next == null)return null;ListNode pre = null;ListNode fast = head;ListNode slow = head;while (fast != null && fast.next != null) {pre = slow;fast = fast.next.next;slow = slow.next;}pre.next = slow.next;return head;}
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/3556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go 环境安装

彻底清楚old version sudo apt-get remove golang-go sudoapt-get remove --auto-remove golang-go rm -rvf /usr/local/go/ 安装方法&#xff1a; 1.下载 Download and install - The Go Programming Language 2. 解压安装 rm -rf /usr/local/go && tar -C /usr/…

BGP的路径属性

路径属性 l每条BGP路由都拥有多个的路径属性&#xff0c;有些是必须携带的&#xff0c;有些是可选添加的 lBGP的路径属性将影响最优路由的选择 lBGP路径属性是描述路由的一组参数&#xff0c;BGP根据路由的属性选择最佳路由&#xff0c;可以人为置值&#xff0c;以便执行路由…

[Android]引导页

使用Kotlin Jetpack Compose创建一个左右滑动的引导页, 效果如图. 1.添加依赖项 androidx.compose.ui最新版本查询:https://maven.google.com/web/index.html com.google.accompanist:accompanist-pager最新版本查询:https://central.sonatype.com/ 确保在 build.gradle (M…

算法-KMP算法

时间复杂度&#xff1a; public int strStr(String haystack, String needle) {int[] next new int[needle.length()];//next数组的生成next[0] 0;int prefixLen 0;//共同前后缀长度int i 1, j 1;//i,j复用while (i < needle.length()) {if (needle.charAt(prefixLen)…

数据库工程师的工作职责(合集)

数据库工程师的工作职责1 职责&#xff1a; 1. 日常数据库的基本安装&#xff0c;维护&#xff0c;升级&#xff0c;监控的; 2. 配合研发部门进行数据库设计支持&#xff0c;协助开发、设计和进行SQL语言优化; 3. 配合相关部门数据库相关的任务&#xff0c;比如数据导入导出&am…

「屡教不改」又被罚,谁还在相信山姆?

值得信赖的品质」「全球进口品牌」……「更好的生活尽在山姆」。 作为全球最大的会员制商店&#xff0c;山姆这几年可以说在中国线下零售市场集体遇劫的背景下&#xff0c;逆势崛起&#xff0c;甚至可以说做到了独树一帜。‍‍‍‍‍‍ 背后的原因是什么&#xff1f;会员制这一…

c++ 中判断字符是 ASCII 编码还是 GBK 编码

在C中&#xff0c;一个字符是ASCII编码还是GBK编码&#xff0c;取决于其在ASCII范围内还是在GBK范围内。 ASCII编码的范围是0到127&#xff0c;而GBK编码是双字节编码&#xff0c;包含了更广泛的字符范围。 #include <iostream> #include <string> #include <…

Python爬虫要点和难点实例代码解析

学习Python爬虫是一个很好的选择,因为Python有很多强大的库可以帮助你进行网络数据的获取和处理。以下是一个简单的Python爬虫入门指南: 1. 了解HTTP协议:在开始编写爬虫之前,了解HTTP协议是很重要的,因为大多数爬虫都是通过HTTP来获取网页数据的。你需要了解HTTP请求和响…

迅雷不限速破解方法

背景&#xff1a;现在迅雷和百度云的下载速度真的太恶心了&#xff0c;所以总有大佬可以采用厉害的方法进行破解&#xff0c;在网上看了一圈&#xff0c;很多都是骗人或者是无效的&#xff0c;找了一个靠谱的方法&#xff0c;亲测速度能达到10M以上&#xff0c;非常给力。 以下…

MySQL数据库运维:运行监控及解决sql执行死锁问题

前言 在现代数据密集型应用程序的开发和部署中&#xff0c;MySQL数据库的运维是至关重要的环节之一。一个良好设计和维护的MySQL数据库系统可以确保数据的准确性、可靠性和高效的访问&#xff0c;从而支持业务的顺利运行。然而&#xff0c;随着业务规模的增长和复杂性增加&…

Spring源码深度解析:三级缓存机制探究

在Spring框架中&#xff0c;三级缓存机制是容器初始化Bean过程中的一个重要组成部分。它有效地解决了循环依赖的问题&#xff0c;特别是在单例Bean的初始化过程中。本文将深入探讨Spring的三级缓存机制&#xff0c;并通过代码片段来解析其工作原理。 一、三级缓存概述 Spring…

查看HDF5文件软件(HDFView)

HDFView&#xff1a;下载地址 note&#xff1a;我们需要下载 win10 、App软件&#xff08;win10在win11也能运行&#xff09;&#xff0c;因为App软件是轻量版&#xff0c;不需要安装就可以使用。 eg&#xff1a; 下载完后解压就可以使用。

MATLAB 2016计算NDVI

MATLAB 2016计算NDVI 之前大二的一段MATLAB代码&#xff0c;突然找到&#xff0c;记录一下当时初学MATLAB的程序&#xff0c;用于读取TIFF计算归一化植被指数&#xff08;NDVI&#xff09;并将其保存为TIFF文件。 文章目录 MATLAB 2016计算NDVI读取波段数据初始化NDVI矩阵和转…

配置SSL证书需要几步,有免费的吗

我们要明白什么是SSL证书。SSL&#xff08;Secure Sockets Layer&#xff09;是一种安全协议&#xff0c;用于在互联网上进行信息加密传输&#xff0c;保护数据不被第三方窃取或篡改。SSL证书就是用来执行这种加密的一种数字证书&#xff0c;它可以提供身份验证&#xff0c;防止…

这个合租室友真的没有一点公德心,还好他搬走了

这个合租室友真的没有一点公德心&#xff0c;还好他搬走了 这个出租屋有四个房间。 有三个卧室&#xff0c;和一个隔断。 我住三个卧室中的一个。下图中右边那个就是我住的。 2023年下半年&#xff0c;左边那个屋子来了一个新租户小白。 在住的过程中&#xff0c;隔断间的租…

30V-STM32设计项目

30V-STM32设计 一、项目描述 (已验证) 基于STM32c8t6芯片设计的开发板&#xff0c;支持4-30V宽电压输入&#xff0c;串口模式自动下载功能&#xff0c;支持串口和STlink&#xff0c;方式下载程序 二、原理图介绍 电源电路采用了DCDCLDO电路&#xff0c;如果是外接DC头供电的话&…

Spring Boot 3.2.5 集成 mysql

版本 Spring Boot 3.2.5 第一步&#xff0c;添加必要依赖 // mysql jdbc 及 驱动 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency><gr…

什么是graphQL

文章目录 一、入门1.是什么&#xff1f;做什么2.如何做&#xff1f; 二、查询和变更1.字段&#xff08;Fields&#xff09;2.参数&#xff08;Arguments&#xff09;3.别名&#xff08;Aliases&#xff09;4.片段&#xff08;Fragments&#xff09;5.操作名称&#xff08;Opera…

你知道数据是如何为制造业精益生产KPI和供应链管理赋能的吗?

挖掘工业数据价值&#xff0c;形成新质生产力 随着工业4.0的逐步深入和国家对制造业高质量发展的大力扶持&#xff0c;工业数据的重要性愈发凸显&#xff0c;已然成为生产经营活动中不可或缺的核心要素。 工业数据不仅反映了生产流程中的各个环节&#xff0c;更蕴含了丰富的信…

嵌入式单片机的高级编程技巧和优化

引言 嵌入式单片机&#xff08;MCU&#xff09;是实现智能设备控制的核心&#xff0c;广泛应用于工业自动化、智能家居、医疗设备等领域。 下面将探讨STM32单片机的高级编程技巧&#xff0c;包括中断管理、低功耗模式和内存优化等方面&#xff0c;并提供具有一定难度的代码示…