BM3 链表中的节点每k个一组翻转

这个就是用栈,k个一组判断就好了

/*** struct ListNode {*  int val;*  struct ListNode *next;*  ListNode(int x) : val(x), next(nullptr) {}* };*/
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param head ListNode类* @param k int整型* @return ListNode类*/ListNode* reverseKGroup(ListNode* head, int k) {// write code hereListNode* tmp = head;int cnt = 0;while (tmp) {cnt++;tmp = tmp->next;}int mo = cnt / k;if (mo == 0) {return head;}//stack<ListNode*>s[mo + 5];stack<int>s[mo+5];int res = 1;for (int i = 1; i <= 2000 && res <= mo; i++) {if (i % k != 0) {s[res].push(head->val);head = head->next;} else {s[res].push(head->val);head = head->next;res++;}}ListNode* Head;Head = new ListNode(s[1].top());s[1].pop();tmp = Head;for (int i = 1; i <= mo; i++) {while (!s[i].empty()) {tmp->next = new ListNode(s[i].top());cout << Head->val << endl;//cout<<tmp->val<<endl;tmp = tmp->next;s[i].pop();}}tmp->next = head;return Head;}
};

栈中保存结点

/*** struct ListNode {*  int val;*  struct ListNode *next;*  ListNode(int x) : val(x), next(nullptr) {}* };*/
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param head ListNode类* @param k int整型* @return ListNode类*/ListNode* reverseKGroup(ListNode* head, int k) {// write code hereListNode* tmp = head;int cnt = 0;while (tmp) {cnt++;tmp = tmp->next;}int mo = cnt / k;if (mo == 0) {return head;}stack<ListNode*>s[mo + 5];//stack<int>s[mo+5];int res = 1;for (int i = 1; i <= 2000 && res <= mo; i++) {if (i % k != 0) {s[res].push(head);head = head->next;} else {s[res].push(head);head = head->next;res++;}}ListNode* Head;Head =s[1].top();s[1].pop();tmp = Head;for (int i = 1; i <= mo; i++) {while (!s[i].empty()) {tmp->next =  s[i].top();//cout << Head->val << endl;//cout<<tmp->val<<endl;tmp = tmp->next;s[i].pop();}}tmp->next = head;return Head;}
};

 递归求解

递归就是栈

/*** struct ListNode {*  int val;*  struct ListNode *next;*  ListNode(int x) : val(x), next(nullptr) {}* };*/
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param head ListNode类* @param k int整型* @return ListNode类*/ListNode* reverseKGroup(ListNode* head, int k) {// write code hereListNode *tail=head;for(int i=0;i<k;i++){if(tail==nullptr){return head;}tail=tail->next;}ListNode *pre=nullptr;ListNode *cur=head;ListNode *tmp=nullptr;while(cur!=tail){tmp=cur->next;cur->next=pre;pre=cur;cur=tmp;}head->next=reverseKGroup(tail, k);return pre;}
};

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

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

相关文章

ubuntu设置系统代理

安装trojan等代理工具并配置启动&#xff0c;得到端口号 例如 10.10.1.10:8080系统代理设置 我们将在/etc/profile.d/proxy.sh下添加一个shell脚本文件&#xff0c;这将确保设置适用于所有已登录的用户&#xff1a; sudo vim /etc/profile.d/proxy.sh将以下内容写到文档中&…

学信息系统项目管理师第4版系列02_法律法规

1. 信息安全的法律体系可分为四个层面 1.1. 一般性法律法规&#xff0c;如宪法、国家安全法&#xff0c;国家秘密法 1.2. 规范和惩罚信息网络犯罪的法律&#xff0c;如刑法、《全国人大常委会关于维护互联网安全的决定》等 1.3. 直接针对信息安全的特别规定&#xff0c;如《…

Spring AOP 的实现及原理

目录 什么是 Spring AOP &#xff1f;AOP 是啥 ?Spring AOP 可以干啥 &#xff1f; AOP 的组成Spring AOP 的实现Spring AOP 的实现原理 什么是 Spring AOP &#xff1f; AOP 是啥 ? 我们知道 OOP 是面向对象编程, 那 AOP 又是啥呢 ? AOP&#xff08;Aspect Oriented Prog…

Qml中double转int类型

在QML中&#xff0c;你可以使用JavaScript的内置函数将double类型转化为int类型。 1.去尾法&#xff1a;使用Math.floor()函数可以将一个double类型的数值向下取整为最接近的整数&#xff0c;Math.floor()将一个double类型的数值去尾转换为int类型。例&#xff1a; var doubl…

华为OD-非严格递增连续数字序列

题目描述 输入一个字符串仅包含大小写字母和数字 求字符串中包含的最长的非严格递增连续数字序列长度 比如&#xff1a; 12234属于非严格递增数字序列 输入描述 输入一个字符串仅包含大小写字母和数字 输出描述 输出字符串中包含的最长的非严格递增连续数字序列长度 示例…

适应高速率网络设备的-2.5G/5G/10G网络变压器/网络滤波器介绍

Hqst盈盛&#xff08;华强盛&#xff09;电子导读&#xff1a;在高速发展的互联网/物联网时代&#xff0c;为满足高网速的网络数据传输需求&#xff0c;网络设备在制造中也要选用合适的网络变压器/滤波器产品&#xff0c;有哪些可供选择的高速率网络变压器产品也是广大采购人员…

jvs-rules(规则引擎)更新:新增功能介绍

jvs-rules更新内容 1.复合变量新增数据补充节点&#xff0c;实现请求回来的数据再以入参方式请求其他数据进行数据补充&#xff08;例如通过参数A&#xff0c;请求回数据B&#xff0c;再以数据B为入参&#xff0c;请求回数据C&#xff09; 2.规则流结束节点支持新增、新建、引…

基于jeecg-boot的flowable流程跳转功能实现

更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbacheng/nbcio-boot 前端代码&#xff1a;https://gitee.com/nbacheng/nbcio-vue.git 在线演示&#xff08;包括H5&#xff09; &#xff1a; http://122.227.135.243:9888 今天我…

【Linux】权限

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析3 目录 &#x1f449;&#x1f3fb;shell命令解释器&#x1f449;&#x1f3fb;Linux用户…

【Java】【Stream流】分页

在Java开发中&#xff0c;使用Java自带Stream流的API来进行开发是一种常见的做法。 下面是一个简单的例子&#xff1a; 假设我们有一个包含100个数据项的列表。我们需要按照每页10个数据进行分页&#xff0c;并返回指定页码的数据。可以使用Java 8中的流来实现分页&#xff1…

使用 AutoGPTQ 和 transformers 让大语言模型更轻量化

大语言模型在理解和生成人类水平的文字方面所展现出的非凡能力&#xff0c;正在许多领域带来应用上的革新。然而&#xff0c;在消费级硬件上训练和部署大语言模型的需求也变得越来越难以满足。 &#x1f917; Hugging Face 的核心使命是 让优秀的机器学习普惠化 &#xff0c;而…

Mysql45讲学习笔记

前言&#xff1a;这篇文章主要总结事务&#xff0c;锁、索引的一些知识点&#xff0c;然后分享一下自己学习小心得&#xff0c;我会从点到线在到面展开说说&#xff0c;对于学习任何知识&#xff0c;我们都应该藐其全貌&#xff0c;不要一开始就选入细节 基础 一、基础架构&a…

基于ssm+vue德云社票务系统源码和论文

基于ssmvue德云社票务系统源码和论文063 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 1.选题的依据和意义 互联网时代&#xff0c;随着生活节奏的加快和不断上升的压力&#xff0c;人们急需寻找到情绪的宣泄…

docker第二次作业

1、使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 拉取镜像 docker pull mysql:5.6 docker pull ow ncloud 运行镜像生成容器 [rootharbor ~]# docker run -d --name mydb1 --env MYSQL_ROOT_PASSWORD123456 mysql:5.6 [rootharbor ~]# docker run -d --name…

Axure RP软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Axure RP是Axure公司开发的一款原型设计工具&#xff0c;广泛应用于产品设计和UI/UX设计领域。以下是Axure RP软件的主要特点和功能&#xff1a; 原型设计&#xff1a;Axure RP提供了丰富的界面元素和交互元素&#xff0c;用户…

THINKPHP 微联云投票系统源码独立版 + 支持刷礼物

THINKPHP 微联云投票系统源码独立版 支持刷礼物 nginxphp7.2以上 mysql5.6以上 简单测试后台基本没什么问题&#xff0c;暂时发现H5前端有bug,自行修复。

VS2022 C++修改Window系统DNS源代码V2.0

这是自己使用VS2022 C++编写开发的Window系统下修改DNS脚本程序第2个版本,适合Win10系统和Win7系统。cfg.txt文件存放要修改的DNS,最多4个。 详细源代码如下: setdns.cpp /* 1.全部清空DNSstring strParameter;strParameter = "netsh interface ip delete dns name=\…

苹果新健康专利:利用 iPhone、Apple Watch 来分析佩戴者的呼吸情况

根据美国商标和专利局&#xff08;USPTO&#xff09;公示的清单&#xff0c;苹果获得了一项健康相关的技术专利&#xff0c;可以利用 iPhone、Apple Watch 来分析佩戴者的呼吸系统。 苹果在专利中概述了一种测量用户呼吸功能的系统&#xff0c;通过 iPhone 上的光学感测单元&am…

Linux Shell 搜索命令 grep

grep 是一个强大的文本搜索工具&#xff0c;用于在文件或标准输入中查找匹配指定模式的行。 它的基本语法是&#xff1a; grep [options] pattern [file...]其中&#xff0c;pattern 是要搜索的模式&#xff0c;可以是普通字符串或使用正则表达式表示的模式。file 是要被搜索…

6. 使用python将多个Excel文件合并到同一个excel-附代码解析

【目录】 文章目录 6. 使用python将多个Excel文件合并到同一个excel-附代码解析1. 目标任务2. 结果展示3. 代码示例4. 代码解析4.1 导入库4.2 调用库的类、函数、变量语法4.3 os.listdir-返回目录中的文件名列表4.4 startswith-用于判断一个字符串是否以指定的前缀开头4.5 ends…