当前位置: 首页 > 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;}
};

相关文章:

  • 使用 百度云大模型平台 做 【提示词优化】
  • OpenMCU(七):STM32F103开发环境搭建
  • 如何选择与构建高效的网络流量分析平台
  • 【设备管理—磁盘调度算法】
  • 17.责任链模式:思考与解读
  • .Net HttpClient 处理错误与异常
  • Vue3+uniapp 封装axios
  • 计网实验笔记(一)CS144 Lab
  • 《猜拳游戏》
  • solidwors插件 开发————仙盟创梦IDE
  • uniapp开发4--实现耗时操作的加载动画效果
  • 按键精灵ios脚本新增元素功能助力辅助工具开发(三)
  • 应用探析|千眼狼PIV测量系统在职业病防治中的应用
  • 小天互连即时通讯:制造行业沟通协作的高效纽带
  • JavaScript 接收并解析后端发送的 JSON 数据,同时将数据以美观的方式展示在页面上
  • Kotlin-类和对象
  • TCP首部格式及三次握手四次挥手
  • 【学习笔记】Shell编程---流程控制语句
  • 【用「概率思维」重新理解生活】
  • 深入探讨 Java 性能术语与优化实践
  • 我的科学观|梅彦昌:科技创新关键在于能否跑得快,而不是有没有钱
  • 耗资10亿潮汕豪宅“英之园”将强拆?区政府:非法占用集体土地
  • 支持企业增强战略敏捷更好发展,上海市领导密集走访外贸外资企业
  • 技术派|更强的带刀侍卫:从054B型战舰谈谈世界护卫舰发展
  • 最高降价三成,苹果中国iPhone开启大促销,能拉动多少销量?
  • 外交部:中方愿根据当事方意愿,为化解乌克兰危机发挥建设性作用