【力扣难题图解】25. K 个一组翻转链表-头插法

news2024/11/16 18:00:37

在这里插入图片描述

class Solution {
public:
    ListNode* reverseKGroup(ListNode* head, int k) {
        ListNode* dummyHead = new ListNode(0);
        dummyHead->next = head;
        ListNode* pre = dummyHead;
        ListNode* cur = dummyHead;

        int count = 0;

        while(cur){
            // 寻找K-Group链表段
            count++;
            cur = cur->next;

            // K-Group的链表段已经确定,准备进行反转
            if(count == k && cur != NULL){

                // flag记录K-Group链表第一个节点,也是后一段K-Group的虚拟节点标志位
                // flag反转后位于K-Group的最后一位
                ListNode* flag = pre->next; 

                // 开始反转K-Group
                while(--count){
                    ListNode *tmp = pre->next; // pre不能用dummyHead代替,因为每K-Group都应该有一个pre,但是dummyHead是固定的
                    pre->next = tmp->next; // 0节点指向第2个节点
                    tmp->next = cur->next; // tmp节点指向K-Group后面的[K+1]-Group的首节点
                    cur->next = tmp; // K-Group的首节点反转到了最后一个位置
                }

                pre = cur = flag; // pre和cur指针移动到K-Group的最后一位
            }
        }
        return dummyHead->next;
    }
};

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

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

相关文章

CSDN上最最全的黑客工具软件大全(共100个)

黑客工具软件大全100套 1 Nessus:最好的UNIX漏洞扫描工具 Nessus 是最好的免费网络漏洞扫描器,它可以运行于几乎所有的UNIX平台之上。它不止永久升级,还免费提供多达11000种插件(但需要注册并接受EULA-acceptance–终端用户授权协…

4、动手学深度学习——多层感知机:模型选择、欠拟合和过拟合

1、训练误差和泛化误差 训练误差(training error)是指, 模型在训练数据集上计算得到的误差。 泛化误差(generalization error)是指, 模型对位置数据项预测的误差,泛化误差体现出了模型的泛化能…

基于Python所写的超级画板设计

点击以下链接获取源码资源: https://download.csdn.net/download/qq_64505944/87959096?spm1001.2014.3001.5503 《超级画板》程序使用说明 在PyCharm中运行《超级画板》即可进入如图1所示的系统主界面。在该界面中,通过左侧的工具栏可以选择所要进行的…

DAY32——贪心part2

1. class Solution {public int maxProfit(int[] prices) {//贪心法 收集相隔两天的利润int res 0;for(int i0;i<prices.length-1;i){//System.out.println(i);int price prices[i1] - prices[i];if(price > 0){res res price;}}return res; } } 2. 代码随想录 (p…

LeetCode·每日一题·2485. 找出中枢整数·前缀和

作者&#xff1a;小迅 链接&#xff1a;https://leetcode.cn/problems/find-the-pivot-integer/solutions/2320800/qian-zhui-he-zhu-shi-chao-ji-xiang-xi-by-e4yp/ 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 著作权归作者所有。商业转载请联系作者获得授权&…

轻量服务器带宽流量和云服务器带宽流量有什么区别?

轻量服务器带宽流量和云服务器带宽流量有什么区别?虽然轻量服务器是轻量化云服务器&#xff0c;但与云服务器的差别还是有一些的&#xff0c;比如这令很多人好奇的轻量服务器带宽和流量和云服务器的区别在哪。下面我们就仔细聊聊关于轻量服务器和云服务器各自的带宽流量差异&a…

K8S集群安装

文章目录 一、环境初始化1、检查操作系统的版本2、主机名解析3、时间同步4、禁用iptables和firewalld服务5、禁用selinux6、禁用swap分区7、修改linux的内核参数8、配置ipvs功能9、重启服务器 二、安装Docker1、切换镜像源2、查看当前镜像源中支持的docker版本3、安装特定版本的…

TCP协议的十大核心特性总结(全面)

目录 一.TCP本身特性 二.报文格式 TCP十大核心特性 一.确认应答 二.超时重传 三.连接管理(三次握手,四次挥手) 三次握手 四次挥手 四.滑动窗口 情况一:接收方的ACK丢失 情况二:发送方的数据包丢失 五.流量控制 六.拥塞控制 七.延迟应答 八.捎带应答 九.粘包问题 …

MATLAB工具箱下载心得(DeepLearnToolbox-master、DSP)

用MATLAB自带的工具Add-Ons只成功过一次&#xff08;一年前吧&#xff0c;又或者那次也没有成功&#xff09;。 现在发现&#xff0c;那个页面都打不开了&#xff0c;不管有没有tizi&#xff0c;都打不开了。 所以以后就只能找资源了。 这次下载DeepLearnToolbox-master&#…

shell自动化代码需求代开发

做linux&#xff0c;shell脚本代写 &#xff0c;一个简单脚本30yuan&#xff0c;复杂的另外商议。包后期维护与逻辑思路答疑。

Jmeter(五) - 从入门到精通 - 创建网络计划实战和创建高级Web测试计划(详解教程)

1.简介 上一篇中我已经将其的理论知识介绍了一下&#xff0c;这一篇我就带着大家一步一步的把上一篇介绍的理论知识实践一下&#xff0c;然后再说一下如何创建高级web测试计划。 2.网络计划实战 通过上一篇的学习&#xff0c;将其分类为&#xff1a; &#xff08;1&#xff09…

Openlayers map三要素(view,target,layers),及其他参数属性方法介绍

​​ 版本说明 Openlayers的实战教程 分为图文版 和 视频版&#xff0c; 这里的是图文版&#xff0c;包含基础知识介绍和实战的源代码&#xff0c;示例效果以gif动图的形式展现出来。 视频版 正在录制中&#xff0c;很快会上线&#xff0c;敬请期待~&#xff0c; 如有问题&am…

viewLifecycleOwner.lifecycleScope生命周期,kotlin

viewLifecycleOwner.lifecycleScope生命周期&#xff0c;kotlin viewLifecycleOwner.lifecycleScope.launch {viewLifecycleOwner.whenCreated {Log.d(TAG,"onCreated")}viewLifecycleOwner.whenStarted {Log.d(TAG,"onStarted")}viewLifecycleOwner.whenR…

FPGA中ROM初始化方法

一 读取txt数据文件进行初始化 parameter INIT_FILE "文件路径/Data.txt" &#xff08;**注意文件路径中斜杠方向**&#xff09; reg [DATA_WITDH - 1:0] ROM [DATA_DEPTH - 1:0];initial begin$readmemh(INIT_FILE, ROM, 0, DATA_DEPTH - 1); end Dat…

Vue UI 组件库

7.1.常用UI组件库 7.1.1.移动端常用UI组件库 VantCube UIMint UINutUI 7.1.2.PC端常用UI组件库 Element UIIView UI 7.2.element-ui基本使用 安装 element-ui&#xff1a;npm i element-ui -S src/main.js import Vue from vue; import App from ./App.vue;// 完整引入 i…

怎么发布QT程序的绿色版

记录一下&#xff0c;用QT Creator写窗口程序&#xff0c;编译好了以后在输出目录直接点击exe都会提示缺少各种dll 处理非常简单&#xff0c;在开始菜单找到QT相关的命令控制台你&#xff0c;如下&#xff0c;注意不要选择错了&#xff08;这个非常关键&#xff0c;如果你是用V…

word选中所有表格的问题

1 首先在word文档中按下AITF8。名字无所谓&#xff0c;SelectAllTables 把下面的代码输入进去&#xff0c;运行&#xff0c;注意运行后等一会&#xff0c;就行了&#xff0c;大约30S&#xff0c;滑动滚轮就看就行 Sub SelectAllTables()Dim tempTable As TableApplication.Scre…

工作这么久了,还不懂如何使用纯前端实现分页吗?-假如后端一股脑返回给你所有数据,让你自个实现分页该怎么办

文章目录 一、如何使用elementUIvue实现前端分页二、通用的前端分页代码 有这么个场景&#xff0c;后端接口的列表数据没有做分页给我&#xff0c;相当于是直接返回所有的列表数据&#xff0c;比如有100条就返回100&#xff0c;但是前端显示&#xff0c;则需要做成分页&#xf…

VS+OpenCV字符动画ikun打篮球

目录 一、环境搭建实现效果模糊知识点资源 一、环境搭建 Visual Studio 2019VSopenCVVS2019配置opencv4.6.0手把手一步一步实现导出OpenCV的VS项目模板从第四步导出项目模板开始看VS安装easyx图形库教程easyx.h报错&#xff1a;无法打开源文件 “xxx.h“ 的解决办法 使用默认的…

tomcat基本了解与nginx的实例

目录 一.tomcat的简介 二.tomcat它是由三个容器组成 nginx的实例1 2.案例二 案例3 四案例4 五总结 一.tomcat的简介 Tomcat 是一个开源的 Java Web 应用服务器&#xff0c;它实际上是 Apache 软件基金会的 Jakarta 项目中的一个子项目。Tomcat 的主要作用是承载和运行基…