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

做直销网站的公司手机网站搜索优化

做直销网站的公司,手机网站搜索优化,网站维护报价单,新疆建设云网站报备力扣题目链接 首先我们考虑一种很直观的思路: 遍历链表,统计链表长度遍历链表,进行翻转 对于每一组长度为 K 的节点,进行翻转如果剩余节点不足 K 个,则不进行翻转 连接翻转后的子链表 这里我们用的就是只用 O(1) 额外内…

力扣题目链接

首先我们考虑一种很直观的思路:

  • 遍历链表,统计链表长度
  • 遍历链表,进行翻转
    • 对于每一组长度为 K 的节点,进行翻转
    • 如果剩余节点不足 K 个,则不进行翻转
  • 连接翻转后的子链表
    这里我们用的就是只用 O(1) 额外内存空间的算法

关于如何 k 个节点个数的链表

我认为这里最重要的是链表的翻转,当你知道需要翻转的链表长度的时候,这个方法应该按照固定模版来进行,也就是我们的三指针:

for (int i = 1; i < k; i++) {cur->next = nex->next;nex->next = pre->next;pre->next = nex;nex = cur->next;
}

但是还记得我们之前在做反转链表题目的时候是怎么处理的嘛:

while (cur) {ListNode *nex = cur->next;cur->next = pre;pre = cur;cur = nex;
}

这里简单直观多了,最大的区别是什么呢?

首先,做整表翻转的时候,我们的逻辑非常简单
其次,对于对 k 个节点分组翻转,并且我们还必须做到对剩余的 k 个节点不进行翻转,势必有这样形式的代码:

while (cout >= k) {...for (...) {...}...count -= k;
}

CPP总体代码:

class Solution {
public:ListNode* reverseKGroup(ListNode* head, int k) {if (!head || k == 1) return head;ListNode *dummyHead = new ListNode();dummyHead->next = head;ListNode *cur = dummyHead, *pre = dummyHead, *nex = dummyHead;int count = 0;cur = head;while (cur) {cur = cur->next;count++;}while (count >= k) {cur = pre->next;nex = cur->next;for (int i = 1; i < k; i++) {cur->next = nex->next;nex->next = pre->next;pre->next = nex;nex = cur->next;}pre = cur;count -= k;}return dummyHead->next;}
};
http://www.ds6.com.cn/news/25324.html

相关文章:

  • 城乡与住房建设部网站首页seo排名优化软件免费
  • 如何做自助搜券网站百度一下知道官网
  • 优化网站和网站建设新产品推广方式有哪些
  • 淘客返利怎么做网站官网设计比较好看的网站
  • 明星网站开发项目介绍在线识别图片来源
  • 广州网站备案要多久企业seo顾问
  • 假网站连接怎么做的网络营销公司招聘
  • 用adsl做网站备案今日国际重大新闻事件
  • 好的竞价推广外包公司东莞关键词排名快速优化
  • 狗爹服务器做视频网站百度收录提交工具
  • 给企业做网站的公司有哪些上海公布最新情况
  • 怎么注册英文网站域名北京软件开发公司
  • 怎么在360网站做词条百度学术官网
  • 做毕业设计网站的步骤seo推广骗局
  • 合肥 网站建设公司哪家好更先进的seo服务
  • 武汉中小企业网站制作公司适合网络营销的产品
  • 建立一个网站要什么条件seo排名工具外包
  • 州网站建设要找嘉艺网络百度推广后台登录
  • icp网站备案查询seo 推广怎么做
  • 小型网站建设源码网络推广网站
  • app营销网站模板危机公关处理方案
  • 网站的底部导航怎么做站长之家产品介绍
  • vue反向代理天地图地址360seo
  • 视频分享网站建设静态网页设计与制作
  • 阿里巴巴建设网站首页推广计划怎么做推广是什么
  • 太原网络公司网站seo在线优化工具
  • 国外推广国内网站网站推广排名
  • 卡通网站建设品牌营销与推广
  • 国家企业信用信息公示网官方电脑优化用什么软件好
  • 网站建设必须配置站长统计app软件下载