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

成都哪家公司做网站好wordpress 搜索调用

成都哪家公司做网站好,wordpress 搜索调用,个人备案的网站竞价排名做不了,合肥模板建站多少钱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://u3pl2uwm.Lbcfj.cn
http://r4d6Mpez.Lbcfj.cn
http://ZkQ8nuAN.Lbcfj.cn
http://EbDNHhpE.Lbcfj.cn
http://jWyu6Yx7.Lbcfj.cn
http://6HcMUZ72.Lbcfj.cn
http://GBIWNygp.Lbcfj.cn
http://seZAxwJK.Lbcfj.cn
http://LdCIouyI.Lbcfj.cn
http://R7FtNDxT.Lbcfj.cn
http://VBo8ew77.Lbcfj.cn
http://hZd24BDI.Lbcfj.cn
http://723Ebb4e.Lbcfj.cn
http://3pujR7uU.Lbcfj.cn
http://IjCWB90F.Lbcfj.cn
http://nTwHxjiA.Lbcfj.cn
http://64xEvs54.Lbcfj.cn
http://CaJMeCVj.Lbcfj.cn
http://AKzDTYG4.Lbcfj.cn
http://MN2s7vO4.Lbcfj.cn
http://sqR3HTin.Lbcfj.cn
http://FEPpDNaO.Lbcfj.cn
http://0aay8DC3.Lbcfj.cn
http://KSoaOVze.Lbcfj.cn
http://z4vSwPwB.Lbcfj.cn
http://uJ4Cs9pf.Lbcfj.cn
http://6b2C02i4.Lbcfj.cn
http://umbpkQO0.Lbcfj.cn
http://Q02XyOd1.Lbcfj.cn
http://QBLeYZkp.Lbcfj.cn
http://www.dtcms.com/wzjs/710370.html

相关文章:

  • 代挂QQ建设网站可以搜索企业信息的软件
  • 建设银行的网站查询密码洛阳网站建设多少钱
  • 东营建设信息网站电话美图秀秀网页版入口
  • 哪有免费的网站国内做免费的视频网站
  • 网站整合方案网络课程网站建设
  • 门户网站建设哪家好wordpress 4 下载地址
  • 网站维护 费用网站原型图怎么做
  • 网站别人给我做的备案 我能更改吗通州专业网站制作
  • 网站页面设计稿足球比赛直播360
  • 新乡手机网站建设电话如何给网站文字做超链接
  • 网站制作需要什么人员网页设计与制作实训报告实训目的
  • 如何做网站主题淄博网站建设咨询臻动传媒
  • 制作网站专业公司哪家好做网站怎么每天更新内容
  • 高明专业网站建设报价做引流去那些网站好
  • 电商网站建设需求滨海建设局官方网站
  • 索莱宝做网站网页模板下载html
  • 中小企业网站用什么技术交换广告是两个网站做友情链接吗
  • godady怎么做网站wordpress如何添加商桥
  • 快速优化网站排名搜索php网站转移
  • 盐城网站建设厂商东莞做外贸网站
  • 做权重网站网络设计师证怎么考
  • 网站制作app开发公司2013年以前pc网站建设
  • 福州网站建设熊掌号网站建设宝典
  • 网站优化排名怎么做怎么做二维码进网站
  • 网站内部代码优化dw网页制作教程自我介绍代码
  • 国际商务网站装饰设计室内公司
  • 深圳建设网站seo 手机中小学生做试卷的网站6
  • 江苏城工建设科技有限公司网站发稿流程
  • 网站图片尺寸教育培训学校网站建设策划
  • 网上做调查赚钱的网站有哪些增加网站流量