力扣143.重排链表
题目描述
题目链接143. 重排链表
给定一个单链表 L
的头节点 head
,单链表 L
表示为:
L0 → L1 → … → Ln - 1 → Ln
请将其重新排列后变为:
L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …
不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例 1:
输入:head = [1,2,3,4] 输出:[1,4,2,3]
示例 2:
输入:head = [1,2,3,4,5] 输出:[1,5,2,4,3]
提示:
- 链表的长度范围为
[1, 5 * 104]
1 <= node.val <= 1000
思路解析
利用栈的先入后出的性质,在计算该链表的节点个数的同时,将节点存入栈中,然后在遍历前半段链表的同时,将后半段链表倒序插入前半段链表中。
由于后存入栈中的节点在栈顶,所以我们只需要取栈顶元素即可,插入完成之后将栈顶元素弹出即可。注意在结束遍历时,最后一个节点的子节点需要修改为空。
代码实现
class Solution {
public:void reorderList(ListNode* head) {ListNode*p = head;stack<ListNode*>stk;int cnt=0;while(p){//遍历链表stk.push(p);//将所有节点存入栈中p=p->next;cnt++;//计数}p=head;ListNode* k;for(int i=1;i<=cnt/2;i++){//遍历前半链表stk.top()->next = p->next;//插入链表最后的节点p->next = stk.top();p = stk.top()->next;stk.pop();//插入完成后从栈中删除}p->next = nullptr;//将最后节点的子节点置空}
};
相关文章:
力扣143.重排链表
题目描述 题目链接143. 重排链表 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为: L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值ÿ…...
本文介绍麒麟信安服务器系统(kylinsec)的安装。
本文介绍麒麟信安服务器系统(kylinsec)的安装。 下载 在开源欧拉官方找到商业版本的介绍找到相关产品: https://www.openeuler.org/zh/download/commercial-release/ 麒麟信安kylinsec下载地址: https://mirrors.kylinsec.com…...
单链表---回文结构
判断某一个单链表是否是回文结构,是返回true、不是返回false。 所谓的回文结构,就是类似对称结构: 对于奇数与偶数个结点均是如此。 那么就有思路:①找到链表的中间结点②逆置后半部分或前半部分③比较两者 ①找中间结点&#x…...
Java --- 反射
目录 一.什么是反射? 二.反射的核心方法和功能: 1.获取类的元信息: 2. 动态实例化对象: 3. 访问字段(包括私有字段): 4. 调用方法(包括私有方法): 5.…...
python编程Day12-属性和方法的分类
私有和公有 在python中 定义类的时候,可以给 属性和方法设置 访问权限,即规定在什么地方可以使用。 权限一般分为两种:公有权限、私有权限 公有权限 定义:直接定义的属性和方法就是公有的特点: 可以在任何地方访问和使…...
C#实现TCP客户端和服务器
本文将介绍如何使用C#实现TCP客户端和服务器的基本功能,客户端与服务器可以相互发送消息。 效果展示 服务器端实现 首先,我们实现TCP服务器。以下是服务器端所需的类和代码: using System; using System.Collections.Generic; using Syste…...
数据库编程: JDBC 中数据库驱动包的安装,配置及引用
目录 驱动包的下载安装 1. 去oracle 官方网站下载 2. github 的开源软件 3. 中央仓库(推荐使用这个) 驱动包的配置及引用 1. 第一步: 打开idea, 在 idea 中创建新的项目 2. 然后我们要在 jdbc_1 目录下创建一个新的目录包 3. 最后引入MySQL 的驱动包, 作为项目的依赖 尾…...
mx linux 在konsole终端中无法输入中文的解决方法
在mx linux系统中,浏览器可以正常输入中文,但是终端窗口中无法输入中文的解决方法,可以通过以下步骤安装 fcitx - frontend - qt5 组件: 1. 打开终端。你可以通过系统菜单或者快捷键(如 Ctrl Alt T )来…...
./configure 安装ngnix的命令
./configure 是一个在 Unix 和类 Unix 系统中常用的 shell 脚本命令,主要用于配置软件源代码包,以便进行编译和安装。这个命令通常在从源代码编译软件之前执行,它会自动检测系统的配置并生成适合该系统的 Makefile。 以下是 ./configure 脚本…...
网络安全之接入控制
网络安全之接入控制 身份鉴别 定义:验证主题真实身份与其所声称的身份是否符合的过程,主体可以是用户、进程、主机。同时也可实现防重放,防假冒。 分类:单向鉴别、双向鉴别、三向鉴别。 主题身份标识信息:密钥、用户名和口令、证书和私钥 I…...
2.1 关系模型
关系模型的基本概念 关系:二维表,通常在数据库中表现为一个表; 属性:关系中的一个列即为关系的一个属性; 域: 每个属性的取值范围即为该属性的域; 元组:关系中的一个行是一个元组…...
深入浅出 Go 语言 sync包中的互斥锁、条件变量
深入浅出 Go 语言 sync包中的互斥锁、条件变量 引言 在并发编程中,多个 Goroutine 同时访问共享资源可能会导致数据竞争(Race Condition),进而引发程序的不一致性或崩溃。为了确保并发程序的正确性和稳定性,Go 语言提…...
利用Python实现子域名简单收集
免责申明 本文仅是用于学习研究子域名信息收集,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《中华人民共和国网络安全法》【学法…...
npm发布插件到私有仓库保姆级教程
在开发项目的过程中,我们经常需要安装插件依赖,那么怎么把自己开发的组件封装成一个插件,并发布到npm 插件市场或者上传到私有仓库里面呢?今天总结下自己发布插件到私有仓库的记录: 一、创建组件 执行命令创建一个空…...
利用Java easyExcel库实现高效Excel数据处理
在Java应用程序中,处理Excel文件是一项常见任务,尤其是在需要读取、写入或分析大量数据时。easyExcel是一个基于Java的高性能Excel处理库,它提供了简洁的API和优化的性能,以简化Excel文件的处理。本文将指导您如何使用easyExcel库…...
基于Springboot的校园交友网站设计与实现
1.1 管理信息系统概述 管理信息系统是计算机在信息管理领域的一种实用技术。通过运用管理科学、数学和计算机应用的原理及方法,在符合软件工程规范的原则下,形成一套完整的理论和方法体系。是一个以人、计算机和其他外部设备组成的可以进行信息的收集、…...
android studio 读写文件操作(应用场景三)
android studio版本:2023.3.1 patch2 例程:filesaveandread 其实我写这个都是我记录我要做后个数独小游戏,每一个都是为了解决一个问题。即是分享也是备忘,反正我什么都不会,就是一顿瞎改,不行就研究。这…...
小程序 —— Day1
组件 — view和scroll-view view 类似于HTML中的div,是一个块级元素 案例:通过view组件实现页面的基础布局 scroll-view 可滚动的视图区域,用来实现滚动列表效果 案例:实现纵向滚动效果 scroll-x属性:允许横向滚动…...
使用 PyTorch 和 Horovod 来编写一个简单的分布式训练 demo
使用 PyTorch 和 Horovod 来编写一个简单的分布式训练 demo,可以帮助你理解如何在多GPU或多节点环境中高效地训练深度学习模型。Horovod 是 Uber 开发的一个用于分布式训练的框架,它支持 TensorFlow、Keras、PyTorch 等多个机器学习库。下面是一个基于 P…...
【Linux】以 CentOS 为例备份与恢复/home分区,并调整分区容量
在 Linux 系统中,这里举例对 /home 目录进行备份、重建和恢复操作,并调整分区大小、更换文件系统或修复损坏的分区等。 〇、前提条件 确认文件系统类型为 xfs。 确认 /home 目录确实没有重要数据,或者已经做好了数据备份。 确保在执行这些…...
OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用
OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用 文章目录 OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用RFT的工作原理与应用领域案例研究:基因突变…...
神经网络的梯度反向传播计算过程,举例说明
目录 神经网络的梯度反向传播计算过程 网络结构 权重和偏置 激活函数 前向传播 损失函数 反向传播 参数更新 举例 神经网络的梯度反向传播计算过程 为了说明神经网络的梯度反向传播计算过程,我们考虑一个简单的全连接网络,该网络有一个输入层、一个隐藏层和一个输出…...
定点数乘法:补码一位算法(booth算法)
方法 初始化 将被乘数A放在寄存器A中。 将乘数B放在寄存器B中,并在最低位添加一个额外的位Q(-1) 0。 结果寄存器P初始化为0,长度为2n位。 迭代过程(重复n次) 对于i从0到n-1: 检查乘数B的最后两位(B 和…...
robots.txt
robots.txt 文件是网站管理者用来告知搜索引擎爬虫(也称为机器人或蜘蛛)哪些页面可以抓取,哪些页面不应该被抓取的一种文本文件。它位于网站的根目录下,并且文件名必须全部小写。这个文件对于SEO(搜索引擎优化…...
如何用 JavaScript 操作 DOM 元素?
如何用 JavaScript 操作 DOM 元素?——结合实际项目代码示例讲解 在前端开发中,DOM(文档对象模型)操作是与页面交互的核心。通过 DOM 操作,开发者可以动态地修改页面内容、响应用户交互、控制样式等。JavaScript 提供…...
vue3使用后端传递的文件流进行文件预览
文章目录 一、 注意事项1、responseType设置为:arraybuffer2、Blob设置type,来源于后台封装的response.headers[content-type]3、使用encodeURIComponent(),避免符号影响文件名 二、java接口 一、 注意事项 1、responseType设置为࿱…...
ubuntu20.04设置远程桌面
安装xrdp sudo apt install xrdp 2、 检查xrdp状态 sudo systemctl status xrdp3、(若为Ubuntu 20)添加xrdp至ssl-cert sudo adduser xrdp ssl-cert 4、重启服务 sudo systemctl restart xrdp最后可以远程了,注意一个账号只能一个登录...
在vue3里使用scss实现简单的换肤功能
实现的换肤功能:主题色切换、亮色模式和暗黑模式切换、背景图切换 主题色就是网站主色,可以配置到组件库上面;亮色模式又分为两种风格:纯白风格和背景图风格,不需要背景图的话可以删掉这部分逻辑和相关定义;…...
flyway执行sql遇到变量执行报错解决
前两天在公司使用flyway工具执行sql时,开发写的sql里面有变量,于是这个flyway工具不识别这个变量直接报错,不接着往下执行了。报错信息如下: flyway工具执行sql报错 information: No value provided for placeholder: ${ep1} 于是…...
解谜类游戏《迷失岛2》等如何抽象出一套通用高效开发框架?
解谜类游戏以精妙的谜题设计和引人入胜的故事叙述为特点,考验着玩家的智慧与观察力。《迷失岛2》与《南瓜先生2九龙城寨》正是这一领域的佳作。游戏以独特的艺术风格和玩法设计吸引了大量玩家,而它们背后隐藏着一套强大的框架。 上海胖布丁游戏的技术总…...
Ant Design Vue v4版本如何解决1px没有被postcss-px2rem转成rem的问题
背景说明 如果你的 Ant Design Vue 项目有要做适配的需求,那首先要选择一种适配方案。笔者选择的是用 postcss-px2rem 进行适配。笔者在配置了 postcss-px2rem的相关配置后,发现 postcss-px2rem 没有对 Ant Design Vue 进行适配。在网上看了一些文章之后…...
【系统架构设计师论文】云上自动化运维及其应用
随着云计算技术的迅猛发展,企业对云资源的需求日益增长。为了应对这一挑战,云上自动化运维(CloudOps)应运而生,它结合了DevOps理念和技术,通过自动化工具和流程来提高云环境的管理效率和服务质量。本文将探讨云上自动化运维的主要衡量指标,并详细介绍一个实际项目中如何…...
河南地质灾害资质办理的政策
一、资质分类 资质等级: 甲级资质:由自然资源部审批管理,适用于承担大型地质灾害防治项目。 乙级资质:由省、自治区、直辖市自然资源主管部门审批管理,适用于承担中型地质灾害防治项目。 丙级资质:由省…...
单例模式--懒汉 饿汉模式
一.啥是单例模式? 先介绍一下设计模式: 设计模式好⽐象棋中的 "棋谱". 红⽅当头炮, ⿊⽅⻢来跳. 针对红⽅的⼀些⾛法, ⿊⽅应招的时候有⼀些固定的套路. 按照套路来⾛局势就不会吃亏. 软件开发中也有很多常⻅的 "问题场景". 针对这些问题…...
HDD 2025年技术趋势深度分析报告
随着数据量的指数级增长以及人工智能(AI)、物联网(IoT)、云计算和视频监控等领域的需求激增,硬盘驱动器(HDD)行业正面临着前所未有的挑战与机遇。本报告旨在深入剖析2025年HDD技术的发展方向&am…...
关于uni-app的uni.showModal和indexOf的使用
这里使用showModal时,这个里面的content需要使用到字符串的形式,不能用到number类型 uni.showModal({title: 提示,content: "hello",success: function (res) {if (res.confirm) {console.log(用户点击确定);} else if (res.cancel) {console…...
Spring Data Elasticsearch
简介说明 spring-data-elasticsearch是比较好用的一个elasticsearch客户端,本文介绍如何使用它来操作ES。本文使用spring-boot-starter-data-elasticsearch,它内部会引入spring-data-elasticsearch。 Spring Data ElasticSearch有下边这几种方法操作El…...
汇编语言简要记录-1
汇编语言与汇编指令 汇编语言的主题是汇编指令 汇编指令与机器指令的差别在于指令的表示方法上 1、汇编指令是机器机器指令便于记忆的书写格式 2、汇编指令是机器指令的助记符 ag:机器指令 1000100111011000操作:将寄存器BX的值送到AX中汇编指令 MOV …...
Java程序猿搬砖笔记(十七)
文章目录 MySQL触发器ElasticSearch按日期分组查询每天的文档数量MySQL中order by排序将null排在最前或者最后面swagger3.0默认访问路径swagger3.0模块化配置MySQL中要少用UNION,多用UNION ALLElasticSearch Bucket & Metric聚合分析及嵌套聚合Mysql case when做…...
代码设计:设计模式:观察者模式
文章目录 定义类结构应用总结 定义 实现响应式编程的代码设计,即触发事件或数据变化时,将数据从被观察者类通过观察器传递给观察者处理,即被观察者类间接调用观察者类的方法处理事件或数据 类结构 被观察者类、观察器类、观察者类 被观察…...
第32天:安全开发-JavaEE应用Servlet路由技术JDBCMybatis数据库生命周期
时间轴: 32天主要学习内容: 1、JavaEE-HTTP-Servlet技术 2、JavaEE-数据库-JDBC&Mybatis java技术使用历史(2023 ): JavaEE-HTTP-Servlet&路由&周期: java学习范围: 3、Java: 功能:数据…...
如何使用Apache HttpClient来执行GET、POST、PUT和DELETE请求
Apache HttpClient 是一个功能强大且灵活的库,用于在Java中处理HTTP请求。 它支持多种HTTP方法,包括GET、POST、PUT和DELETE等。 本教程将演示如何使用Apache HttpClient来执行GET、POST、PUT和DELETE请求。 Maven依赖 要使用Apache HttpClient&…...
Next.js 系统性教学:加载界面、重定向与路由分组
更多有关Next.js教程,请查阅: 【目录】Next.js 独立开发系列教程-CSDN博客 目录 1. 加载界面与流式渲染 1.1 加载界面 (loading.js) 1.2 流式渲染 2. 路由重定向 2.1 基于服务器的重定向 2.2 动态重定向 2.3 中间件中的重定向 3. 路由分组 3.1…...
哪款云手机适合多开?常用云手机功能对比
在全球化和数字化时代,云手机以其独特的灵活性和高效性,成为多账号运营和数字营销的热门工具。云手机能够解决传统设备管理的诸多痛点,例如账号关联、硬件成本高等问题。本文将为您推荐多款优质云手机品牌,帮助您选择最适合的工具…...
基于openzeppelin插件的智能合约升级
一、作用以及优点 部署可升级合约,插件自动部署proxy和proxyAdmin合约,帮助管理合约升级和交互;升级已部署合约,通过插件快速升级合约,脚本开发方便快捷;管理代理管理员的权限,只有proxyAdmin的…...
WGAN生成对抗网络数据生成
数据生成 | WGAN生成对抗网络数据生成 目录 数据生成 | WGAN生成对抗网络数据生成生成效果基本描述程序设计参考资料 生成效果 基本描述 1.WGAN生成对抗网络,数据生成,样本生成程序,MATLAB程序; 2.适用于MATLAB 2020版及以上版本&…...
SQL面试题——拼多多SQL面试题 求连续段的起始位置和结束位置
拼多多SQL面试题 求连续段的起始位置和结束位置 今天的题目来自拼多多,我们先看一下题目描述 有一张表ids记录了id,id不重复,但是会存在间断,求出连续段的开始位置和结束位置 +---+ | id| +---+ | 1| | 2| | 3| | 5| | 6| | 8| | 10| | 12| | 13| | 14| | 15| +--…...
Contextual Affinity Distillation for Image Anomaly Detection
Contextual Affinity Distillation for Image Anomaly Detection 日本东北大学 摘要 先前对无监督工业异常检测的研究主要通过匹配或学习局部特征表示来关注“结构”类型的异常,例如裂纹和颜色污染。虽然在这种异常上实现了显着的高检测性能,但他们面…...
如何在HTML中修改光标的位置(全面版)
如何在HTML中修改光标的位置(全面版) 在Web开发中,控制光标位置是一个重要的技巧,尤其是在表单处理、富文本编辑器开发或格式化输入的场景中。HTML中的光标位置操作不仅适用于表单元素(如<input>和<textarea…...
Spring Cloud Alibaba(六)
目录: 分布式链路追踪-SkyWalking为什么需要链路追踪什么是SkyWalkingSkyWalking核心概念什么是探针Java AgentJava探针日志监控实现之环境搭建Java探针日志监控实现之探针实现编写探针类TestAgent搭建 ElasticsearchSkyWalking服务环境搭建搭建微服务微服务接入Sky…...