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

力扣92.反转指定范围内的链表、25.k个一组反转链表

92.反转指定范围内的链表

/*** 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 reverseBetween(ListNode head, int left, int right) {//left是第left个节点ListNode dummy=new ListNode(0,head);int count=0;ListNode pre=dummy,cur=dummy,tailAfter;while (right-->0){cur=cur.next;count++;if  (count==left-1){pre=cur;}}tailAfter=cur.next;cur.next=null;ListNode newHead=reverseList(pre.next);pre.next.next=tailAfter;pre.next=newHead;return dummy.next;}public ListNode reverseList(ListNode root){if (root==null || root.next==null) return root;ListNode newHead=reverseList(root.next);root.next.next=root;root.next=null;return newHead;}
}

25.k个一组反转链表

class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode dummy=new ListNode(0,head);ListNode cur=dummy,pre=dummy,tail,tailAfter;int copyk;while (true){copyk=k;while (cur!=null && copyk-->0){cur=cur.next;}if (copyk>0 || cur==null) break;//为反转做准备tailAfter=cur.next;cur.next=null;ListNode newhead=reverseList(pre.next);pre.next.next=tailAfter;tail=pre.next;pre.next=newhead;//为下一次做准备pre=tail;cur=tail;}return dummy.next;}public ListNode reverseList(ListNode root){if (root==null || root.next==null) return root;ListNode newhead=reverseList(root.next);root.next.next=root;root.next=null;return newhead;}
}
http://www.xdnf.cn/news/326395.html

相关文章:

  • SpringBoot优雅参数检查
  • java基础-数组
  • AI训练服务器概述
  • 【信息系统项目管理师】法律法规与标准规范——历年考题(2024年-2020年)
  • 【fastadmin开发实战】财务数据快速导入系统(复制导入)
  • 配置Hadoop集群-测试使用
  • C# NX二次开发:曲线和点位相关UFUN函数详解
  • 游戏中心首页
  • LeetCode:对称二叉树
  • 贵州省棒球运动发展中长期规划(2024-2035)·棒球1号位
  • MySQL 联合查询的使用教程
  • Consumer Group的作用是什么?Rebalance的触发条件有哪些? (实现消费者负载均衡;消费者加入/离开、订阅Topic变化等)
  • JAVA中常见队列详解-非线程安全
  • by 组态在化工生产线自动化控制中的应用方案
  • 工具分享:通过滑块拉取CAN报文信号数值自动发送报文
  • Python小酷库系列:Box,更为完善的dict属性化访问扩展库
  • 技术视界 | 青龙机器人训练地形详解(一):如何创建一个地形
  • HTB - Eureka记录
  • 数智管理学(八)
  • 《饶议科学》阅读笔记
  • 【Lanqiao】数位翻转
  • 2021年下半年试题四:论微服务架构及其应用
  • SQL Server 中的 GO 及其与其他数据库的对比
  • Spark-Core(双Value类型)
  • C++对象注册系统(1)实现原理
  • 应用 | AI 自动化某讯会议转录与摘要生成系统
  • Android开发-视图基础
  • Facebook的元宇宙新次元:社交互动如何改变?
  • 2021年CVPR文章【Polygonal Building Segmentation by Frame Field Learning】环境搭建
  • 《Python星球日记》 第47天:聚类与KMeans