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

day16 leetcode-hot100-31(链表10)

25. K 个一组翻转链表 - 力扣(LeetCode)

1.模拟法

思路

将这个过程拆解为两个步骤,第一步将单分组的节点反转,第二步将反转后的链表加入原链表。

针对节点反转很容易,参考之前的206. 反转链表 - 力扣(LeetCode)

针对反转后的链表加入原链表,我们需要该链表前一个节点pre,以及后面一个节点nex。

所以我们要提前将pre与nex存储起来。

具体步骤

(1)创建哨兵节点dump,让头节点不再特殊。同时pre=dump为第一个需要反转链表的前一个节点。

(2)判断需要反转的链表是否有k个长度,若有则继续,若无直接输出结果dump.next;

(3)存储nex,pre,方便后续加入原链表。

(4)反转链表(返回新的头节点与尾节点),并将链表加入原链表。

(5)更新pre为tail,head为tail.next,方便下一次循环。

具体代码
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode dump = new ListNode(0,head);ListNode pre = dump;while(head!=null){ListNode tail = pre;for(int i=0;i<k;i++){tail=tail.next;if(tail==null){return dump.next;}}ListNode nex = tail.next;ListNode[] rev = myRev(head,tail);head = rev[0];tail = rev[1];pre.next = head;tail.next=nex;pre=tail;head = tail.next;}return dump.next;}public ListNode[] myRev(ListNode n1,ListNode n2){ListNode pre1 = n2.next;ListNode end = pre1;ListNode cur = n1;while(cur!=end){ListNode next1 =cur.next;cur.next=pre1;pre1=cur;cur=next1;}ListNode[] r = {n2,n1};return r;}
}

相关文章:

  • 【笔记】MSYS2 安装 Python 构建依赖记录Cython + Ninja + Meson + meson-python
  • 焦虑而烦躁的上午
  • LeetCode 1497. 检查数组对是否可以被 k 整除
  • nt!MiDispatchFault函数分析之nt!MiCompleteProtoPteFault函数的作用
  • InfluxDB 高级分析实战:预测、技术指标与异常检测全指南
  • 70.新增用户内容复制功能
  • 1-2 Dart SDK 安装
  • rl_sar功能包详解
  • PTA-根据已有类Worker,使用LinkedList编写一个WorkerList类,实现计算所有工人总工资的功能。
  • Python+MongoDb使用手册(精简)
  • Baklib加速企业AI数据治理实践
  • Flickr30k Entities短语定位评测指南
  • 基于大模型预测的寻常型天疱疮诊疗方案研究报告
  • 鸿蒙OSUniApp内存管理优化实战:从入门到精通#三方框架 #Uniapp
  • 牛顿迭代算法-深度解析
  • TDengine 基于 TDgpt 的 AI 应用实战
  • Kubernetes(K8s)核心架构解析与实用命令大全
  • Ansible自动化运维工具全面指南:从安装到实战应用
  • Ansible 进阶 - Roles 与 Inventory 的高效组织
  • 《分子动力学模拟的参数困局:QML的突围方案》
  • 公安局网站备案流程/爱站seo查询
  • 做网站怎样快速收录/44555pd永久四色端口
  • phpcms安装教程/长沙关键词优化方法
  • 南平建设局网站/企业营销推广策划
  • 网站被黑了怎么恢复/网站关键字优化软件
  • 自己做的网站怎么发布win7/培训网站建设