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

Leecode刷题之路第25天之K个一组翻转链表

题目出处

25-K个一组翻转链表-题目出处

题目描述

给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

在这里插入图片描述

提示:链表中的节点数目为 n1 <= k <= n <= 50000 <= Node.val <= 1000进阶:你可以设计一个只用 O(1) 额外内存空间的算法解决此问题吗?

个人解法

思路:

todo

代码示例:(Java)

todo

复杂度分析

todo

官方解法

25-K个一组翻转链表-官方解法

方法1:模拟

思路:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码示例:(Java)

public class Solution1 {@Datapublic static class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) {this.val = val;}ListNode(int val, ListNode next) {this.val = val;this.next = next;}}public ListNode reverseKGroup(ListNode head, int k) {ListNode hair = new ListNode(0);hair.next = head;ListNode pre = hair;while (head != null) {ListNode tail = pre;// 查看剩余部分长度是否大于等于 kfor (int i = 0; i < k; ++i) {tail = tail.next;if (tail == null) {return hair.next;}}ListNode nex = tail.next;ListNode[] reverse = myReverse(head, tail);head = reverse[0];tail = reverse[1];// 把子链表重新接回原链表pre.next = head;tail.next = nex;pre = tail;head = tail.next;}return hair.next;}public ListNode[] myReverse(ListNode head, ListNode tail) {ListNode prev = tail.next;ListNode p = head;while (prev != tail) {ListNode nex = p.next;p.next = prev;prev = p;p = nex;}return new ListNode[]{tail, head};}}

复杂度分析

在这里插入图片描述

考察知识点

收获

Gitee源码位置

25-K个一组翻转链表-源码

同名文章,已同步发表于CSDN,个人网站,公众号

  • CSDN

    工一木子
  • 个人网站

    工藤新一
  • 公众号

    在这里插入图片描述

相关文章:

Leecode刷题之路第25天之K个一组翻转链表

题目出处 25-K个一组翻转链表-题目出处 题目描述 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保…...

nuxtjs3 使用tailwindcss做自适应

步骤 1: 安装 Tailwind CSS npm install tailwindcss postcss autoprefixer nuxtjs/tailwindcss步骤 2: 配置 Tailwind CSS 这将生成一个 tailwind.config.js 文件。 npx tailwindcss init步骤 3: 配置 nuxt.config.ts // https://nuxt.com/docs/api/configuration/nuxt-con…...

数据资产目录构建方法与应用

一、引言随着大数据、云计算、人工智能等技术的飞速发展&#xff0c;数据驱动已经成为企业发展的新引擎。数据资产目录作为数据管理的核心工具&#xff0c;不仅能够帮助企业更好地掌握自身数据资源的状况&#xff0c;还能为数据资产的全生命周期管理提供有力支撑。因此&#xf…...

【Python爬虫实战】从文件到数据库:全面掌握Python爬虫数据存储技巧

&#x1f308;个人主页&#xff1a;https://blog.csdn.net/2401_86688088?typeblog &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、文本文件数据存储的基础 二、如何将爬取的数据存储为.txt文件 三、如何…...

断其一指,无惧!ProFusion3D: 相机或者激光失效仍高效的多传感器融合3D目标检测算法

Abstract 多传感器融合在自动驾驶中的3D目标检测中至关重要&#xff0c;摄像头和激光雷达是最常用的传感器。然而&#xff0c;现有方法通常通过将两种模态的特征投影到鸟瞰视角&#xff08;BEV&#xff09;或透视视角&#xff08;PV&#xff09;来进行单视角的传感器融合&…...

CCS字体、字号更改+CCS下载官方链接

Step1、 按照图示箭头操作 step2 Step3 点击确定&#xff0c;点击Apply(应用)&#xff0c;点击Apply and close(应用和关闭) 4、历代版本下载链接 CCS下载&#xff1a;官方链接https://www.ti.com/tool/CCSTUDIO The last but not least 如果成功的解决了你的问题&#x…...

YOLO11改进|注意力机制篇|引入SEAM注意力机制

目录 一、【SEAM】注意力机制1.1【SEAM】注意力介绍1.2【SEAM】核心代码二、添加【SEAM】注意力机制2.1STEP12.2STEP22.3STEP32.4STEP4三、yaml文件与运行3.1yaml文件3.2运行成功截图一、【SEAM】注意力机制 1.1【SEAM】注意力介绍 下图是【SEAM】的结构图,让我们简单分析一下…...

简历修订与求职经历 - Chap04

节后第一周有点山中无甲子的状况。Oct08&#xff0c;节后第一天几乎全天处于心流状态。上午下午很快时间就结束了。 周五&#xff0c;按照既有的面试频次&#xff0c;感觉可以做点别的。然后就联系了附近的驾校&#xff0c;打算把摩托车驾驶证拿了。然后几乎到了驾校&#xff…...

鸿蒙开发案例:推箱子

推箱子游戏&#xff08;Sokoban&#xff09;的实现。游戏由多个单元格组成&#xff0c;每个单元格可以是透明的、墙或可移动的区域。游戏使用Cell类定义单元格的状态&#xff0c;如类型&#xff08;透明、墙、可移动区域&#xff09;、圆角大小及坐标偏移。而MyPosition类则用于…...

mysql--表的约束

目录 理解表的约束和操作 如何理解&#xff1f; 1、空属性null 2、默认值default 3、列描述comment 4、自动填充zorefill 5、主键primary key &#xff08;1&#xff09;创建表时指定可以 &#xff08;2&#xff09;创建表后指定key &#xff08;3&#xff09;删除主…...

Ubuntu 上安装 docker 并配置 Docker Compose 详细步骤

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…...

MySQL去除空白字符(如非标准空格、制表符等)

在 MySQL 中&#xff0c;需要去除 site_name 字段的空格&#xff0c;可以使用 TRIM() 函数。这个函数可以去掉字符串开头和结尾的空格。以下是一个示例查询&#xff0c;演示如何选择去除空格后的 site_name&#xff1a; SELECT TRIM(site_name) AS site_name FROM site_info;如…...

2063:【例1.4】牛吃牧草

【题目描述】 有一个牧场&#xff0c;牧场上的牧草每天都在匀速生长&#xff0c;这片牧场可供15头牛吃20天&#xff0c;或可供20头牛吃10天&#xff0c;那么&#xff0c;这片牧场每天新生的草量可供几头牛吃1天&#xff1f; 【输入】 &#xff08;无&#xff09; 【输出】 如题…...

QT开发:深入掌握 QtGui 和 QtWidgets 布局管理:QVBoxLayout、QHBoxLayout 和 QGridLayout 的高级应用

目录 引言 1. QVBoxLayout&#xff1a;垂直布局管理器 基本功能 创建 QVBoxLayout 添加控件 添加控件和设置对齐方式 设置对齐方式 示例代码与详解 2. QHBoxLayout&#xff1a;水平布局管理器 基本功能 创建 QHBoxLayout 添加控件 添加控件和设置对齐方式 设置对齐…...

Bootstrapping、Bagging 和 Boosting

bagging方法如下&#xff1a; bagging和boosting比较...

板块龙头公司

高通 高通&#xff08;Qualcomm&#xff09;是一家总部位于美国加利福尼亚州的全球领先半导体和电信设备公司。成立于1985年&#xff0c;高通专注于无线通信技术的研发和创新。 移动处理器: 高通开发的骁龙&#xff08;Snapdragon&#xff09;系列芯片广泛用于智能手机和平板电…...

Java项目-基于Springboot的招生管理系统项目(源码+说明).zip

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…...

使用 MongoDB 构建 AI:利用实时客户数据优化产品生命周期

在《使用 MongoDB 构建 AI》系列博文中&#xff0c;我们看到越来越多的企业正在利用 AI 技术优化产品研发和用户支持流程。例如&#xff0c;我们介绍了以下案例&#xff1a; Ventecon 的 AI 助手帮助产品经理生成和优化新产品规范 Cognigy 的对话式 AI 帮助企业使用任意语言&a…...

【React】React18核心源码解读

前言 本文使用 React18.2.0 的源码&#xff0c;如果想回退到某一版本执行git checkout tags/v18.2.0即可。如果打开源码发现js文件报ts类型错误请看本人另一篇文章&#xff1a;VsCode查看React源码全是类型报错如何解决。 阅读源码的过程&#xff1a; 下载源码 观察 package…...

部署私有仓库以及docker web ui应用

官方地址&#xff1a;https://hub.docker.com/_/registry/tags 一、拉取registry私有仓库镜像 docker pull registry:latest 二、运⾏容器 docker run -itd -v /home/dockerdata/registry:/var/lib/registry --name "pri_registry1" --restartalways -p 5000:5000 …...

DAY57WEB 攻防-SSRF 服务端请求Gopher 伪协议无回显利用黑白盒挖掘业务功能点

知识点&#xff1a; 1、SSRF-原理-外部资源加载 2、SSRF-利用-伪协议&无回显 3、SSRF-挖掘-业务功能&URL参数 SSRF-原理&挖掘&利用&修复 漏洞原理&#xff1a;SSRF(Server-Side Request Forgery:服务器端请求伪造) &#xff0c;一种由攻击者构造形成由服务…...

光盘刻录大文件时分卷操作

可以使用 split 命令来将大文件 finetune.tar 分卷为适合光盘大小的文件片段&#xff0c;然后在离线服务器上合并这些分卷文件。以下是具体的操作步骤&#xff1a; 步骤1&#xff1a;分卷文件 假设你的文件 finetune.tar 大小为35GB&#xff0c;并且你想分卷为每个4.7GB&…...

Kafka系列之:生产者性能调优

Kafka系列之:生产者性能调优 一、producer.type二、request.required.acks三、max.request.size四、batch.size五、buffer.memory一、producer.type 在Kafka中,producer.type是一个配置属性,用于指定Producer的类型。它有两个可能的值: sync:同步发送模式。当设置为sync时…...

【linux】进程创建与进程终止

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;linux笔记仓 目录 01.进程创建02.进程终止异常终止如何终止exit()_exit() 01.进程创建 #include <unistd.h> pid_t fork(void);返回值&#xff1a;自进程中返回0&#xff0c;父进程返回子进…...

QT的文件操作类 QFile

QFile 是 Qt 框架中用于文件处理的一个类。它提供了读取和写入文件的功能&#xff0c;支持文本和二进制文 件。 QFile 继承自 QIODevice &#xff0c;因此它可以像其他IO设备一样使用。 主要功能 文件读写&#xff1a; QFile 支持打开文件进行读取或写入操作文件信息&#x…...

java项目篇-用户脱敏展示

用户敏感信息脱敏展示 定义手机号和证件号的 Jackson 自定义序列化器&#xff0c;并在对应需要脱敏的敏感字段上指定自定义序列化器。在进行指定的需要脱敏的字段&#xff08;身份证号&#xff0c;手机号&#xff0c;银行卡号等&#xff09;序列化的时候&#xff0c;该字段自动…...

《C++计算引擎:驱动高效计算的强大动力》

在当今数字化时代&#xff0c;高效的计算能力是推动科技进步和创新的关键。而 C作为一种强大的编程语言&#xff0c;在构建高性能计算引擎方面发挥着重要作用。本文将深入探讨 C计算引擎的特点、优势以及在不同领域的应用&#xff0c;带您领略 C在计算领域的独特魅力。 一、C计…...

Linux的hadoop集群部署

1.hadoop是一个分布式系统基础架构,主要解决海量数据额度存储与海量数据的分析计算问题 hdfs提供存储能力,yarn提供资源管理能力,MapReduce提供计算能力 2.安装 一:调整虚拟机内存,4G即可 二:下载安装包 网址:https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.4.0/…...

请问:ESModule 与 CommonJS 的异同点是什么?

前言 本篇文章不会介绍模块的详细用法&#xff0c;因为核心是重新认识和理解模块的本质内容是什么&#xff0c;直奔主题&#xff0c;下面先给出最后结论&#xff0c;接下来在逐个进行分析。 ECMAScript Module 和 CommonJS 的相同点&#xff1a; 都拥有自己的缓存机制&#…...

【数据结构与算法】力扣 59. 螺旋矩阵 II

题目描述 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a; n 3 输出&#xff1a; [[1,2,3],[8,9,4],[7,6,5]]示例 2&#xff1a; 输入&#xff1a…...