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

K个一组链表翻转

目录

1. 题意

2. 解题思路

3. 代码


1. 题意

给一个链表,按 k 进行翻转,也就是 k = 2 ,两两进行翻转,如果不够2则不动。

2. 解题思路

首先思考怎么翻转一个链表,反转链表:https://leetcode.cn/problems/UHnkqh/description/

只要最开始记录1和2,2个节点,并让1指向空,在根据2得到3节点。

根据题意说明反转k次,那么首先计算总共要反转多少次,比如:

总共5个节点,5/2,总共反转2次,结束让最后的指针指向剩余的节点。

那么知道怎么反转了,那怎么得到答案呢?

首先反转1和2 

2作为起点,怎么存?很好解决让new一个指针ans,定义一个指针tmp=ans指向他,那怎么让反转后的最后一个节点1指向下一个节点?很好解决,因为最开始的时候cur已经指向1了,直接存。

最开始的状态直接标记cur,用一个pos指针标记

反转后的状态直接让tmp指向他,也就是 ans的next 指向 prev 所在的位置并让 tmp进行指向(ans后续返回答案要用)。

然后让tmp指向之前标记的cur也就是pos,也就是反转之前的头部。

进行第二次反转:

先让pos=cur进行标记反转前的头部

然后进行反转

让tmp指向prev

在让tmp等于pos,和第一次步骤一样。

结束,让tmp指向没反转的节点,节点就是cur指向的节点。

3. 代码

    int Licount(ListNode* head){   int cnt=0;while(head){++cnt;head=head->next;}return cnt;}ListNode* reverseKGroup(ListNode* head, int k) {// 求链表长度int cnt = Licount(head);// 求总共反转多少次cnt/=k; // 让这个新的节点指向最终答案ListNode* tmp=new ListNode(-1);// 让这个链节点把 2个反转之后的链表 进行衔接ListNode* tmp_next=tmp;// 进行反转定义的3个指针ListNode* prev=nullptr,*mid=head,*tail=head->next;while(cnt--){// 保存要反转的 链表的最开始的头部ListNode* pos=mid;// 反转k次for(int i=0;i<k;++i){mid->next=prev;prev=mid;mid=tail;if(tail!=nullptr)tail=tail->next;}// 让tmp 指向反转后的链表的头部tmp_next->next=prev;// 让tmp等于链表最开始的头部,反转前的头部tmp_next=pos;// 让他指向空,不执行也没问题tmp_next->next=nullptr;}// 衔接没参与反转的链表tmp_next->next=mid;// 返回最后的答案return tmp->next;}

相关文章:

K个一组链表翻转

目录 1. 题意 2. 解题思路 3. 代码 1. 题意 给一个链表&#xff0c;按 k 进行翻转&#xff0c;也就是 k 2 &#xff0c;两两进行翻转&#xff0c;如果不够2则不动。 2. 解题思路 首先思考怎么翻转一个链表&#xff0c;反转链表&#xff1a;https://leetcode.cn/problems…...

Python60日基础学习打卡D32

我们已经掌握了相当多的机器学习和python基础知识&#xff0c;现在面对一个全新的官方库&#xff0c;看看是否可以借助官方文档的写法了解其如何使用。 我们以pdpbox这个机器学习解释性库来介绍如何使用官方文档。 大多数 Python 库都会有官方文档&#xff0c;里面包含了函数…...

面向恶劣条件的道路交通目标检测----大创自用(当然你也可以在里面学到很多东西)

全部内容梳理 目标检测的两个任务&#xff1a; 预测标签 边界框 语义分割 实力分割 一个是类别 一个是实例级别 分类任务把每个图像当作一张图片看待 所有解决方法是先生成候选区域 再进行分类 置信度&#xff1a; 包括对类别和边界框预测的自信程度 输出分类和IOU分数的…...

基于Java(SSM)+MySQL实现(Web)具有智能推荐功能的图书销售系统

具有智能推荐功能的图书销售系统 1.绪论 1.1 背景、目的、意义 随着互联网的不断发展&#xff0c;电子商务逐渐代替传统的交易方式。各种类型的电子商务网站层出不穷&#xff0c;但细分之下电子商务网站主要分为 B2B&#xff0c;B2C&#xff0c;C2B&#xff0c;C2C 这四大类…...

浙大团队研发Earth Explorer系统,探索深时演化/地学剖面/科研场景,赋能深时地球科学研究

深时地球科学研究聚焦地球的漫长历史&#xff0c;探寻从数十亿年前到如今的地质演化过程&#xff0c;研究范畴广泛&#xff0c;涵盖了地球内部结构、物质组成、生命演化&#xff0c;以及地球与外部环境的相互作用等关键领域。近年来&#xff0c;地学可视化分析方法对多维时空交…...

docker 启动一个python环境的项目

安装镜像 docker pull python:3.8-slim8902端口 启动容器 tail -f /dev/null 持续监听空文件&#xff0c;保持容器活跃 docker run -it \-p 8902:8902 \--name api_mock2 \-v /home/py/test:/app \-w /app \python:3.8-slim \tail -f /dev/null进入容器 docker exec -it api…...

31-35【动手学深度学习】深度学习硬件

1. CPU和GPU 1.1 CPU CPU每秒钟计算的浮点运算数为0.15&#xff0c;GPU为12。GPU的显存很低&#xff0c;16GB&#xff08;可能32G封顶&#xff09;&#xff0c;CPU可以一直插内存。 左边是GPU&#xff08;只能做些很简单的游戏&#xff0c;视频处理&#xff09;&#xff0c;中…...

Linux问题排查-内存使用率高如何分析原因

以下是针对 Linux 系统内存使用率高的分步排查方法&#xff0c;结合用户进程占用、tmpfs 内存占用、内核内存泄漏和黑洞内存等特殊情况进行分析&#xff1a; 第一步&#xff1a;初步观察系统整体内存使用情况 1. 查看系统内存概况 命令&#xff1a;free -h 或 cat /proc/mem…...

SpringMVC2

一、springmvc 接收请求 类上、方法上 RequestMapping GetMapping PostMapping package com.hl.springmvc02.web; ​ import jdk.nashorn.internal.objects.annotations.Getter; import org.springframework.web.bind.annotation.*; ​ RestController RequestMapping(&qu…...

【每日一题丨2025年5.12~5.18】排序相关题

个人主页&#xff1a;Guiat 归属专栏&#xff1a;每日一题 文章目录 1. 【5.12】P1068 [NOIP 2009 普及组] 分数线划定2. 【5.13】P5143 攀爬者3. 【5.14】P12366 [蓝桥杯 2022 省 Python B] 数位排序4. 【5.15】P10901 [蓝桥杯 2024 省 C] 封闭图形个数5.【5.16】P12165 [蓝桥…...

ElasticSearch性能优化

ES基础概念介绍&#xff1a; 索引&#xff1a;类似于MySQL中的表&#xff0c;它是具有相同特征的一个数据集。文档&#xff1a;格式为JSON格式&#xff0c;类似于MySQL中的一条数据&#xff0c;它是数据存储的基本数据单元&#xff0c;每一条文档都有一个唯一的ID。查询&#x…...

Typora + PicGo + GitHub 配置图床——图片自动上传 详细教程

文章目录 一、创建 GitHub 仓库二、添加私人令牌三、下载 PicGo四、配置 PicGo五、测试 一、创建 GitHub 仓库 进入 Github 官网 注册一个属于自己的账号&#xff0c;点击创建仓库。 2. 创建自己的新仓库。仓库设置为公开&#xff0c;方便上传图片&#xff08;你设置私有也可以…...

QT+Visual Studio 配置开发环境教程

一、QT架构 Qt Creator 是一个轻量级、跨平台的 IDE&#xff0c;专为 Qt 开发量身打造&#xff0c;内置对 qmake/CMake 的深度支持、Kits 配置管理、原生 QML 调试器以及较低的资源占用维基百科。 而在 Windows 环境下&#xff0c;Visual Studio 配合 Qt VS Tools 扩展则可将 Q…...

缺乏经验的 PCB 过孔建模方法

您是一名背板设计人员,被指派设计一种新的高速、多千兆位串行链路架构,从多个线卡到背板上的多个交换矩阵交换卡。这些链路必须在第一天以 6GB/s 的速度运行,并且为 10GB/s (IEEE 802.3KR) 做好产品演进的准备。时间表很紧,您需要提出一个背板架构,以允许程序的其余部分…...

layui 介绍

layui&#xff08;谐音&#xff1a;类 UI) 是一套开源的 Web UI 解决方案&#xff0c;采用自身经典的模块化规范&#xff0c;并遵循原生 HTML/CSS/JS 的开发方式&#xff0c;极易上手&#xff0c;拿来即用。其风格简约轻盈&#xff0c;而组件优雅丰盈&#xff0c;从源代码到使用…...

【漫话机器学习系列】265.普拉托变换的相关问题(Issues With Platt Scaling)

Platt Scaling 的相关问题详解 | 模型校准中的隐患分析 在机器学习模型中&#xff0c;模型预测的“置信度”并不一定等于真实的概率。为了提高模型预测结果的可解释性和实用性&#xff0c;我们通常会使用一种后处理的概率校准方法——Platt Scaling&#xff08;普拉托变换&…...

【Linux高级全栈开发】2.2.1 Linux服务器百万并发实现2.2.2 Posix API与网络协议栈

【Linux高级全栈开发】2.2.1 Linux服务器百万并发实现2.2.2 Posix API与网络协议栈 高性能网络学习目录 基础内容&#xff08;两周完成&#xff09;&#xff1a; 2.1网络编程 2.1.1多路复用select/poll/epoll2.1.2事件驱动reactor2.1.3http服务器的实现 2.2网络原理 百万并发…...

LlamaIndex

1、大语言模型开发框架的价值是什么? SDK:Software Development Kit,它是一组软件工具和资源的集合,旨在帮助开发者创建、测试、部署和维护应用程序或软件。 所有开发框架(SDK)的核心价值,都是降低开发、维护成本。 大语言模型开发框架的价值,是让开发者可以更方便地…...

springboot使用xdoc-report包导出word

背景&#xff1a;项目需要使用xdoc-report.jar根据设置好的word模版&#xff0c;自动填入数据 导出word 框架使用 我的需求是我做一个模板然后往里面填充内容就导出我想要的word文件&#xff0c;问了下chatgpt还有百度&#xff0c;最后选用了xdocreport这个框架&#xff0c;主…...

leetcode 3356. 零数组变换 II 中等

给定一个长度为 n 的整数数组 nums 和一个二维数组 queries&#xff0c;其中 queries[i] [li, ri]。 对于每个查询 queries[i]&#xff1a; 在 nums 的下标范围 [li, ri] 内选择一个下标 子集。将选中的每个下标对应的元素值减 1。 零数组 是指所有元素都等于 0 的数组。 …...

重拾GMP

目录 GMP总结 线程协程三家对比GMP调度模型 mgp过一遍流程 g 一个G的生命周期 mpschedt全局队列g0视角看看G的调度流程 四大调度类型 主动调度被动调度正常调度抢占调度 宏观的调度流程上面流程的具体细节 schedule()findRunnable()execute()gosched_m()park_m()与ready()goe…...

实验分享|基于千眼狼sCMOS科学相机的流式细胞仪细胞核成像实验

实验背景 流式细胞仪与微流控技术&#xff0c;为细胞及细胞核成像提供新的路径。传统流式细胞仪在细胞核成像检测方面存在检测通量低&#xff0c;荧光信号微弱等局限&#xff0c;故某光学重点实验室开发一种基于高灵敏度sCMOS科学相机并集成在自组荧光显微镜的微流控细胞核成像…...

C++学习:六个月从基础到就业——C++11/14:其他语言特性

C学习&#xff1a;六个月从基础到就业——C11/14&#xff1a;其他语言特性 本文是我C学习之旅系列的第四十四篇技术文章&#xff0c;也是第三阶段"现代C特性"的第六篇&#xff0c;主要介绍C11/14中引入的其他重要语言特性。查看完整系列目录了解更多内容。 引言 在前…...

【Linux笔记】——线程池项目与线程安全单例模式

&#x1f525;个人主页&#x1f525;&#xff1a;孤寂大仙V &#x1f308;收录专栏&#x1f308;&#xff1a;Linux &#x1f339;往期回顾&#x1f339;&#xff1a; 【Linux笔记】——简单实习一个日志项目 &#x1f516;流水不争&#xff0c;争的是滔滔不息 一、线程池设计二…...

数据驱动的社会舆情监测与分析——用算法洞察世界脉动

数据驱动的社会舆情监测与分析——用算法洞察世界脉动 在信息爆炸的时代,社会舆情的变化可以在极短时间内产生深远影响。从企业品牌到公共政策,社交媒体和新闻平台上的讨论能够直接影响决策者的策略制定。因此,数据驱动的舆情监测与分析 逐渐成为政府、企业以及社会机构的重…...

OD 算法题 B卷 【最佳植树距离】

文章目录 最佳植树距离 最佳植树距离 在直线的公路上种树&#xff0c;给定坑位数量和位置&#xff0c;及需要种多少棵树苗&#xff1b;树苗之间的最小距离是多少时&#xff0c;可以保证种的最均匀&#xff08;树苗之间的最小距离最大&#xff09;&#xff1b; 输入描述&#…...

ZooKeeper 原理解析及优劣比较

大家好&#xff0c;这里是架构资源栈&#xff01;点击上方关注&#xff0c;添加“星标”&#xff0c;一起学习大厂前沿架构&#xff01; 引言 在分布式系统中&#xff0c;服务注册、配置管理、分布式锁、选举等场景都需要一个高可用、一致性强的协调服务。Apache ZooKeeper 凭…...

实战5:个性化数字艺术生成与销售

盈利思路 数字艺术销售&#xff1a; 平台销售&#xff1a;将生成的数字艺术作品上传到像OpenSea、Foundation等NFT平台进行售卖。每一件独特的艺术品可以通过NFT技术保证其唯一性&#xff0c;吸引收藏家和投资者。 定价策略&#xff1a;根据作品的复杂度、创意性以及市场需求来…...

是德科技 | 单通道448G未来之路:PAM4? PAM6? PAM8?

内容来源&#xff1a;是德科技 随着数据中心规模的不断扩大以及AI大模型等技术的兴起&#xff0c;市场对高速、大容量数据传输的需求日益增长。例如&#xff0c;AI训练集群中GPU等设备之间的互联需要更高的传输速率来提升效率。在技术升级方面&#xff0c;SerDes技术的不断进步…...

OceanBase 开发者大会,拥抱 Data*AI 战略,构建 AI 数据底座

5 月 17 号以“当 SQL 遇见 AI”为主题的 OceanBase 开发者大会在广州举行&#xff0c;因为行程的原因未能现场参会&#xff0c;仍然通过视频直播观看了全部的演讲。总体来说&#xff0c;这届大会既有对未来数据库演进方向的展望&#xff0c;也有 OceanBase 新产品的发布&#…...