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

互助平台网站制作徐州网站设计

互助平台网站制作,徐州网站设计,昌平知名的网站制作建设报价,wordpress汉化杂志主题给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值&a…

给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。

k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。

你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

       对链表进行k个节点的反转,首先我们要先知道链表的节点个数有多少个?才能知道我们需要翻转多少次?最后不够的节点是不需要翻转的

        int n=0;ListNode cur=head;//计算出列表的长度while(cur!=null){n++;cur=cur.next;}

为了使head节点不具有特殊性,我们经常会在head节点前加一个虚拟头结点dummyHead

 过程如下:

 序号12345的代码:

  for (int i =0; i <k; i++) {ListNode next=curNode.next;curNode.next=pre;pre=curNode;curNode=next;}

序号67的代码:

           ListNode next=p0.next;p0.next.next=curNode;p0.next=pre;p0=next;

       通过while的循环,就可以将k个节点进行反转,多指针这种方法也是比较好想的,但是就是比较容易绕,希望大家可以看着我画的图进行理解

源代码:

 public ListNode reverseKGroup(ListNode head, int k) {if(head==null){return null;}int n=0;ListNode cur=head;//计算出列表的长度while(cur!=null){n++;cur=cur.next;}ListNode dummyNode=new ListNode(-1);dummyNode.next=head;ListNode pre=null;ListNode p0=dummyNode;ListNode curNode=p0.next;while(n>=k){n-=k;for (int i =0; i <k; i++) {ListNode next=curNode.next;curNode.next=pre;pre=curNode;curNode=next;}ListNode next=p0.next;p0.next.next=curNode;p0.next=pre;p0=next;}return dummyNode.next;}

下面给大家递归的代码,供大家借鉴:

   //递归反转public ListNode reverseKGroup(ListNode head, int k) {if(head==null||head.next==null){return head;}ListNode r=head;for (int i = 0; i <k; i++) {if(r==null){return head;}r=r.next;}ListNode node=reverse(head,r);head.next=reverseKGroup(r,k);return node;}//给定区间链表进行反转public ListNode reverse(ListNode head,ListNode right){ListNode pre=null,curNode=head,next=null;while(curNode!=right){next=curNode.next;curNode.next=pre;pre=curNode;curNode=next;}return pre;}

http://www.yayakq.cn/news/106151/

相关文章:

  • 建站公司常见提成比例商品展示类网站
  • 免费解析网站手机会员卡管理系统
  • 热门网站排名宁波建设厅网站
  • 个人的小说网站如何做如何在网站做推广
  • 物流企业网站建设特色工信部网站黑名单查询
  • 网站内部优化工具wordpress为什么感觉加载慢
  • 整合式营销长沙企业seo服务
  • 签订网站建设协议应注意事项网站建设与设计试题
  • 广东专业做网站广告设计图案
  • 网站和app的区别模板网站与定制网站的区别
  • 前端网站怎么做qq登录网页版登录入口
  • django网站开发视频qq网页登录入口
  • 全屏 网站 代码单位网站建设维护论文
  • html网页制作网站p2p金融网站建设
  • 网站里自动切换图片怎么做工程造价信息网南京
  • 网站开发js不更新亚洲电视全球运营中心
  • 做网站设计的电脑需要什么配置阿里云wordpress
  • 成都市建设领域网站咨询电话大沥网站建设公司
  • 视频在线网站免费观看qq炫舞开发公司
  • 做卡盟网站教程Wordpress 点击量 插件
  • 腾讯广告建站工具重庆seo霸屏
  • 设计网站手机app客户端wordpress 2015
  • 有经验的邯郸网站建设网站建设列入管理费用说明科目
  • 房地产中介网站建设怎样在赶集微网站做微招聘信息
  • 阿里云网站开发网站建设小程序公众号销售
  • 摄影网站建设公司网站备案icp过期
  • 简洁 手机 导航网站模板下载wordpress多用户博客
  • 建网站公司深天津网站建设找哪家
  • 网站维护界面吃什么补肾效果最好
  • 自动搭建网站源码安卓开发软件手机版