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

重庆实惠网站建设怎么创建网站赚钱

重庆实惠网站建设,怎么创建网站赚钱,长春最新通告今天,做试玩网站leetcode 25 思路 整体思路 解题的核心在于确定每 k 个节点的组,然后对组内节点进行翻转操作,并将翻转后的组正确连接回原链表。为了方便处理,我们引入一个虚拟头节点 dummy ,它的 next 指向链表的真正头节点 head 。这样做的好…

leetcode 25

在这里插入图片描述

思路

整体思路

解题的核心在于确定每 k 个节点的组,然后对组内节点进行翻转操作,并将翻转后的组正确连接回原链表。为了方便处理,我们引入一个虚拟头节点 dummy ,它的 next 指向链表的真正头节点 head 。这样做的好处是,在处理头节点时可以避免特殊情况的判断,统一代码逻辑

快慢指针的运用

我们使用了快慢两个指针,slow 指针初始指向 dummy ,fast 指针初始指向 dummy.next (即链表的头节点)。fast 指针的作用是向前移动 k 个节点,判断当前组是否有足够的 k 个节点。如果 fast 指针在移动 k 步的过程中遇到了 null ,说明剩余节点不足 k 个,此时直接返回 dummy.next ,因为剩余部分不需要翻转。如果 fast 指针顺利移动了 k 步,说明当前组有足够的节点,可以进行翻转操作

链表翻转操作

当确定当前组有 k 个节点后,我们开始进行链表翻转。设 cur 指针指向当前组的第一个节点(即 slow.next ),pre 指针指向当前组的下一组的第一个节点(即 fast )。通过循环 k 次,不断调整指针指向来实现节点的翻转。每次循环中,先保存 cur 的下一个节点 node ,然后将 cur 的 next 指向 pre ,更新 pre 为 cur ,再将 cur 移动到 node 。循环结束后,当前组的节点顺序就完成了翻转

反转链表可以参考另一篇博客:leetcode206反转链表

重新连接链表

完成一组节点的翻转后,需要将翻转后的组重新连接到原链表中。此时,slow.next 应该指向翻转后的组的头节点(即 pre ),然后将 slow 移动到当前组的尾节点(即翻转前的第一个节点,也就是 temp ),以便下一次循环时处理下一组节点

时间复杂度:O(n) 空间复杂度:O(1)

实现

var reverseKGroup = function (head, k) {if (!head || k === 1) return head;let dummy = { val: 0, next: head }let slow = dummy, fast = dummy.next;while (fast) {for (let i = 0; i < k; i++) {if (fast) {fast = fast.next} else {// 剩余元素不足k个return dummy.next;}}let cur = slow.next, pre = fast;for (let i = 0; i < k; i++) {// 进行反转const node = cur.next;cur.next = pre;pre = cur;cur = node;}const temp = slow.next;slow.next = pre;slow = temp;}return dummy.next;
};
http://www.hkea.cn/news/656092/

相关文章:

  • 济南快速排名刷关键词排名seo软件
  • 系统做网站的地方百度推广登录后台登录入口
  • 集约化网站建设情况广告公司网站制作
  • 网站制作发票字节跳动广告代理商加盟
  • 义乌做网站武汉seo推广优化公司
  • 济宁哪家网站建设公司正规谷歌浏览器 免费下载
  • 有没有女的做任务的网站广东省新闻
  • seo长尾关键词优化如何做网站推广优化
  • 网站搭建服务合同seo排名赚
  • 东莞有什么比较好的网站公司苏州关键词排名系统
  • 做中国供应商免费网站有作用吗浙江网站推广运营
  • mysql8 wordpress百度推广优化是什么意思
  • 做装修广告网站好seo推广公司招商
  • 城市模拟建设游戏网站今天最新的新闻头条新闻
  • 手机网站自适应代码品牌网络营销策划方案
  • 个人网站建设在哪里百度资源搜索平台
  • 云空间免费空间北京网站优化校学费
  • 个人网站做导航网站项目推广平台有哪些
  • 威海住房建设局网站培训学校资质办理条件
  • 做趣味图形的网站免费线上培训平台
  • 女生做网站前端设计师成都网站seo
  • 濮阳建设银行官方网站搜索引擎优化的对比
  • 完全删除wordpressseo小白入门
  • 做网站常用到的css标签什么软件可以找客户资源
  • 有做销售产品的网站有哪些新闻头条今日新闻
  • 深圳自己做网站 服务器优化的近义词
  • 网站开发职业工资网站推广上首页
  • 宝安附近公司做网站建设多少钱深圳百度开户
  • 成都紧急通知seo网络营销招聘
  • 思坎普网站建设如何做营销推广