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

梅州生态建设有限公司网站榆林百度seo

梅州生态建设有限公司网站,榆林百度seo,企业网站有哪些内容,宁波专业品牌网站制作外包1.题目描述 2.思路 链表分区为已翻转部分待翻转部分未翻转部分。给一个链表和整数 k,每 k 个一组进行翻转,如果剩下的节点不足 k 个就不翻转。 (1)每次翻转前,要确定翻转链表的范围,这个必须通过 k 此循环来确定 (2)需记录翻转链…

1.题目描述

在这里插入图片描述

2.思路

链表分区为已翻转部分+待翻转部分+未翻转部分。给一个链表和整数 k,每 k 个一组进行翻转,如果剩下的节点不足 k 个就不翻转。
(1)每次翻转前,要确定翻转链表的范围,这个必须通过 k 此循环来确定
(2)需记录翻转链表前驱和后继,方便翻转完成后把已翻转部分和未翻转部分连接起来
(3)初始需要两个变量 pre 和 end,pre 代表待翻转链表的前驱,end 代表待翻转链表的末尾
(4)经过k此循环,end 到达末尾,记录待翻转链表的后继 next = end.next
翻转链表,然后将三部分链表连接起来,然后重置 pre 和 end 指针,然后进入下一次循环
(5)特殊情况,当翻转部分长度不足 k 时,在定位 end 完成后,end==null,已经到达末尾,说明题目已完成,直接返回即可
时间复杂度为 O(n∗K) 最好的情况为 O(n) 最差的情况未 O(n ^2 )
在这里插入图片描述
在这里插入图片描述
补充
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.代码实现

/*** 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 dummy = new ListNode(0); // 虚拟头结点,方便处理边界情况dummy.next = head;ListNode pre = dummy; // pre:每组的前一个节点while (head != null) {ListNode end = pre; // 每组的尾部初始化// 看剩下是否有 k 个节点,不够就不翻转for (int i = 0; i < k; i++) {end = end.next;if (end == null) return dummy.next; // 不够 k 个,直接返回}ListNode nextGroupHead = end.next; // 下一组的起点ListNode[] reversed = reverseList(head, end); // 翻转这组链表// reversed[0] 是翻转后的新头,reversed[1] 是新尾head = reversed[0];end = reversed[1];// 重新连接链表pre.next = head;end.next = nextGroupHead;// 为下一轮准备pre = end;head = end.next;}return dummy.next;}// 翻转从 head 到 end 之间的链表,返回 [新头,新尾]public ListNode[] reverseList(ListNode head, ListNode end) {ListNode prev = end.next;ListNode curr = head;while (prev != end) {ListNode nextTemp = curr.next;curr.next = prev;prev = curr;curr = nextTemp;}return new ListNode[]{end, head}; // 翻转后,end 变成头,head 变成尾}}

方法2:带测试用例。

 class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) { this.val = val; }ListNode(int val, ListNode next) { this.val = val; this.next = next; }}
public class H25 {public ListNode reverseKGroup(ListNode head, int k) {if (head == null || k <= 1) return head;ListNode dummy = new ListNode(0);dummy.next = head;ListNode pre = dummy;while (head != null) {ListNode end = pre;// 提前移动 end k 步,如果不足 k 个,直接返回for (int i = 0; i < k; i++) {end = end.next;if (end == null) return dummy.next;}ListNode nextGroupHead = end.next;ListNode[] reversed = reverseList(head, end);ListNode newHead = reversed[0];ListNode newEnd = reversed[1];pre.next = newHead;newEnd.next = nextGroupHead;pre = newEnd;head = nextGroupHead;}return dummy.next;}private ListNode[] reverseList(ListNode start, ListNode end) {ListNode nextGroupHead = end.next; // ✅ 提前缓存,避免循环里访问 end.nextListNode prev = nextGroupHead;ListNode curr = start;while (curr != nextGroupHead) {ListNode nextTmp = curr.next;curr.next = prev;prev = curr;curr = nextTmp;}return new ListNode[]{end, start};  // 翻转后 end 是新的头,start 是新的尾}
public static void main(String[] args)
{H25 test=new H25();ListNode node5=new ListNode(5,null);ListNode node4=new ListNode(4,node5);ListNode node3=new ListNode(3,node4);ListNode node2=new ListNode(2,node3);ListNode head=new ListNode(1,node2);ListNode res=test.reverseKGroup(head,2);System.out.print("输出每k个元素翻转链表的结果: ");while (res != null) {System.out.print(res.val);if (res.next != null) System.out.print(" -> ");res =res.next;}System.out.println();
}
}
http://www.dtcms.com/wzjs/20708.html

相关文章:

  • 凡科网站建设7个基本流程免费外链发布
  • 网站制作书籍爱站网站长seo综合查询
  • 有域名没有服务器怎么做网站打开官方网站
  • 永久免费企业网站申请如何免费做网站
  • 网站大致内容湘潭高新区最新新闻
  • 给钱做任务的网站推广网站有效的免费方法
  • 惠州网站优化建设关联词有哪些三年级
  • 营销网站制作教程软文营销名词解释
  • 专业性网站 ip百度网盟推广
  • 网站表单怎么做seo建站收费地震
  • 做电商需要准备多少钱semseo
  • me微擎怎么做网站seo 网站排名
  • discuz做商城网站网络营销的缺点及建议
  • 卡片形式的网站百度搜索引擎怎么做
  • 关于网站制作报价关键词优化seo优化
  • 大型营销型网站建设百度代理授权查询
  • 网站建设品牌策划方案重庆百度小额贷款有限公司
  • 重点实验室网站建设seo云优化软件
  • 长春网站制作诚推源晟seo排名赚app官网
  • 建设视频网站费用吗中国最大网站排名
  • 江苏专业网站推广公司营销软件培训
  • 丰城市建设局网站在百度上怎么注册网站
  • 建https网站免费平台推广
  • 教育机构网站建设网络营销方案模板
  • 网站搭建系列教程seo短视频网页入口引流下载
  • 做推广哪个网站最热门重庆seo推广服务
  • 网站建设方案书简单搜索引擎有哪几个网站
  • 整合营销方案案例嘉兴优化公司
  • 企业做网站需要的资料百度搜一搜
  • wordpress aplayerseo网站优化服务合同