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

day39(12.20)——leetcode面试经典150

25. K 个一组翻转链表

25. K个一组翻转链表

这题有点难啊啊啊啊,怎么会有人能这样想到,这也太聪明了吧啊啊啊

题目:

题解:

class Solution { public ListNode reverseKGroup(ListNode head, int k) { if (head == null || k <= 1) return head; // Step 1: 创建虚拟头节点 ListNode dummy = new ListNode(0); dummy.next = head; ListNode prev = dummy; // prev 始终指向当前组的前一个节点 // Step 2: 计算链表总长度(可选,也可以在每轮检查 k 个节点) int length = 0; ListNode cur = head; while (cur != null) { length++; cur = cur.next; } // Step 3: 处理 fullGroups = length / k 个完整组 int fullGroups = length / k; for (int i = 0; i < fullGroups; i++) { // start 是当前组的第一个节点 ListNode start = prev.next; // then 是 start 的下一个,即将被“头插”的节点 ListNode then = start.next; // 执行 k-1 次头插操作 for (int j = 0; j < k - 1; j++) { // 1. start 跳过 then,连到 then 的下一个 start.next = then.next; // 2. then 插到 prev 后面 then.next = prev.next; prev.next = then; // 3. then 移动到下一个待处理节点 then = start.next; } // 一轮反转结束,prev 移动到本组的最后一个节点(即原来的 start) prev = start; } return dummy.next; } }
http://www.jsqmd.com/news/117520/

相关文章:

  • 无需动捕设备!Linly-Talker通过AI实现自然表情动画
  • Uniapp——安卓Android友盟一键登录插件教程
  • 如何购买Linly-Talker所需Token?计费规则全解析
  • Linly-Talker API开放:轻松集成到现有业务系统
  • Linly-Talker支持唇形与语种精准匹配
  • Linly-Talker与Azure语音服务对接实践
  • Linly-Talker适合做短视频IP孵化吗?深度分析
  • 2025年下半年四川弹力绳定做厂家选型指南:专业评估与推荐 - 2025年品牌推荐榜
  • 四川弹力绳定做厂家2025年下半年推荐 - 2025年品牌推荐榜
  • Linly-Talker支持多人对话场景模拟
  • Linly-Talker支持批量生成数字人视频任务队列
  • Linly-Talker在房地产虚拟看房中的应用前景
  • 2025年度江苏徐州拉丁舞舞蹈培训机构Top 5榜单与深度解析 - 2025年品牌推荐榜
  • Linly-Talker如何保证生成内容合规性?
  • Linly-Talker数字人可用于企业内部培训讲师
  • 2026计算机二级考试即将开始,报名照很严格
  • Redis篇8——Redis深度剖析:揭秘 Redis 高性能
  • Linly-Talker一键部署Docker镜像现已开放下载
  • 系统框架2
  • Linly-Talker在跨境电商中的多语言解说应用
  • Linly-Talker情感表达能力测评:喜怒哀乐都能模仿
  • Linly-Talker声音多样性测试:支持多少种音色切换
  • Linly-Talker与Unity引擎联动开发虚拟角色
  • Linly-Talker结合LangChain构建智能问答数字人
  • 10、从 VBScript 到 PowerShell:用户 Web 文件夹配置脚本转换
  • 告别昂贵制作!Linly-Talker降低数字人内容创作门槛
  • 11、Windows文件系统与注册表管理:WSH与PowerShell应用详解
  • 1、开启 Windows 10 的精彩之旅
  • Linly-Talker助力新闻播报自动化:记者数字人上岗
  • 1、深入探索Shell与PowerShell:从基础到应用