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

【力扣】K个一组翻转链表

K个一组翻转链表

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* reverseKGroup(ListNode* head, int k) {//某些情况不用翻转if (k == 1 || head->next == nullptr) return head;//计算有多少个节点int n = 0;//n个节点ListNode* begin = head;while (begin){++n;begin = begin->next;}//循环m次,每次进行长度为k的逆序ListNode* guard = new ListNode(0);ListNode* tmp = guard;//作为返回的节点ListNode* cur = head;ListNode* tail = guard;int m = n / k;//循环m次for (int i = 0; i < m; ++i){tail = cur;for (int j = 0; j < k; ++j){ListNode* next = cur->next;cur->next = tmp->next;tmp->next = cur;cur = next;}//需要找到尾节点作为起始位置tmp = tail;} //不需要逆序的节点尾插tail->next = cur;//进行释放指针tmp = guard->next;delete guard;return tmp;}
};

http://www.xdnf.cn/news/421903.html

相关文章:

  • aardio - godking.vlistEx.listbar + win.ui.tabs 实现多标签多页面切换
  • llamafactory-记录一次消除模型随机性的成功过程
  • VSCode中Node.js 使用教程
  • WPF自定义控件开发全指南:多内容切换与动画集成
  • 基于深度学习的水果识别系统设计
  • 蛋白设计 ProteinMPNN
  • go语言学习进阶
  • Telnet 类图解析
  • 题海拾贝:P1833 樱花
  • 不用服务器转码,Web端如何播放RTSP视频流?
  • 多线程代码案例-1 单例模式
  • 在spark中配置历史服务器
  • 【C++】深入理解 unordered 容器、布隆过滤器与分布式一致性哈希
  • 拓扑排序详解
  • H5S 视频监控AWS S3 对象存储
  • BGP实验练习2
  • Github 2025-05-13 Python开源项目日报 Top10
  • 从零开始:使用 Vue-ECharts 实现数据可视化图表功能
  • 详解Windows(十一)——网络连接设置
  • 解锁ozon运营新路径:自养号测评技术如何实现降本增效
  • CSS结构性伪类、UI伪类与动态伪类全解析:从文档结构到交互状态的精准选择
  • 【Flask全栈开发指南】从零构建企业级Web应用
  • Vue3+uniapp 封装axios
  • 《猜拳游戏》
  • 深入学习Zookeeper的知识体系
  • 软件测试服务公司分享:国产化适配测试的重要性和关键要素
  • 如何在 CentOS 7 虚拟机上配置静态 IP 地址并保持重启后 SSH 连接
  • ios remote debut proxy 怎么开启手机端调试和inspect
  • C++ string数据查找、string数据替换、string子串获取
  • Rollup入门与进阶:为现代Web应用构建超小的打包文件