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

刷题记录第109天-K个一组反转链表

在这里插入图片描述
解题思路:
第一步:实现一个数组,给定一段链表的头结点和尾节点,反转该链表,并返回新的头结点和尾结点。
第二步:初始化一个虚拟头结点,用于记录最终头结点和规范操作。
第三步:给定一个初始头结点head,先走k步得到尾结点tail,如果走不到,则证明剩下的不足K哥啊,可直接return。否则,就调用第一步的函数反转此时的[head,tail]之间的链表,并将这个链表接回到原始链表中(这里需要记录每组链表头结点的前一个节点prev),重复该操作,直到head为空。

class Solution {
public:// 翻转一个子链表,并且返回新的头与尾pair<ListNode*,ListNode*> reverse(ListNode* head,ListNode* tail){ListNode* prev=tail->next;ListNode* cur_p=head;while(prev!=tail){ListNode* next = cur_p->next;cur_p->next = prev;prev = cur_p;cur_p = next;}return {tail,head};}ListNode* reverseKGroup(ListNode* head, int k) {ListNode* dummy = new ListNode(0);dummy->next = head;ListNode* prev = dummy;while(head!=nullptr){ListNode* tail=prev;for(int i=0;i<k;i++){tail = tail->next;if(tail==nullptr){return dummy->next;}}pair<ListNode*,ListNode*> result = reverse(head,tail);head = result.first;tail = result.second;prev->next=head;prev=tail;head=tail->next;}return dummy->next;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 你知道AI模型是如何学习的吗?
  • keepalived安装-集群部署
  • 【面试题】接雨水
  • WPF 数据模板DataTemplate、控件模板ControlTemplate、Style、ItemsPreseter
  • jenkins 安装以及自动构建maven项目并且运行
  • thinkphp漏洞之sql注入漏洞-builder处漏洞
  • wiota窄带通讯技术对于vu传统lora
  • [cvpr 2024 目标检测 前沿研究 热点] cpvr 2024中与目标检测主题有关的论文
  • 【无标题】第九章 从 Web 客户端指定自定义传输
  • 钢板现货:A572Gr60和SA572Gr60材质分析、A572Gr60和SA572Gr60简介
  • fetch 在实际项目中的思考
  • 2024华为OD机试真题- 求字符串中所有整数的最小和-(C++/Python)-C卷D卷-100分
  • 中国联通在国外最大的综合电信服务枢纽
  • 【算法模板】数据结构:单调栈
  • vue2和vue3项目使用signalr插件,前后端如何配合的
  • 分享的文章《人生如棋》
  • 08.Android之View事件问题
  • EventListener原理
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JAVA 学习IO流
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • spring学习第二天
  • 机器学习学习笔记一
  • 入门级的git使用指北
  • 使用common-codec进行md5加密
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 推荐一个React的管理后台框架
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 源码安装memcached和php memcache扩展
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • elasticsearch-head插件安装
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • $ git push -u origin master 推送到远程库出错
  • (16)Reactor的测试——响应式Spring的道法术器
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (八十八)VFL语言初步 - 实现布局
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (十八)Flink CEP 详解
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)C#调用WebService 基础
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Core 和 .NET Framework 中的 MEF2
  • .net core 依赖注入的基本用发
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET的数据绑定
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • @RequestBody与@ModelAttribute
  • @Slf4j idea标红Cannot resolve symbol ‘log‘
  • [Algorithm][动态规划][简单多状态DP问题][按摩师][打家劫舍Ⅱ][删除并获得点数][粉刷房子]详细讲解