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

微营销是什么青岛seo排名收费

微营销是什么,青岛seo排名收费,门户型网站建设,网站建设费1万多入什么科目链表K个节点的组内逆序调整问题 作者:Grey 原文地址: 博客园:链表K个节点的组内逆序调整问题 CSDN:链表K个节点的组内逆序调整问题 题目描述 LeetCode 25. Reverse Nodes in k-Group 本题的 follow up 是: Fol…

链表K个节点的组内逆序调整问题

作者:Grey

原文地址:

博客园:链表K个节点的组内逆序调整问题

CSDN:链表K个节点的组内逆序调整问题

题目描述

LeetCode 25. Reverse Nodes in k-Group

本题的 follow up 是:

Follow-up: Can you solve the problem in O(1) extra memory space?

即用 O ( 1 ) O(1) O(1)的空间复杂度实现整个算法。

主要思路

本题需要设计两个方法:

第一个方法

ListNode getKGroupEnd(ListNode start, int k)

该方法表示:从链表start位置开始,数够k个位置,返回k个位置后的那个节点。

比如链表为:

...-> start -> b -> c -> d -> e

假设:k = 3

则:表示从start开始,数够 3 个,所以返回c节点

如果是下述情况

...-> start -> b -> c -> null

假设:k = 6

由于start后面不够 6 个节点,所以返回null,完整代码如下:

public static ListNode getKGroupEnd(ListNode start, int k) {while (--k != 0 && start != null) {start = start.next;}return start;
}

第二个方法void reverse(ListNode start, ListNode end),表示反转startend之间的链表。

例如:原链表为:

....->a->b->c->d->e....

假设:start = a, end = d

经过reverse方法,会变成

...d->c->b->a->e.....

reverse方法也相对比较简单,就是链表反转的一种特殊情况,实现代码如下:

public static void reverse(ListNode start, ListNode end) {end = end.next;ListNode pre = null;ListNode cur = start;while (cur != end) {ListNode tmp = cur.next;cur.next = pre;pre = cur;cur = tmp;}start.next = end;
}

有了上述两个方法,我们可以比较方便实现原题要求,主流程如下

public static ListNode reverseKGroup(ListNode head, int k) {ListNode start = head;ListNode end = getKGroupEnd(start, k);if (end == null) {return head;}// 第一组凑齐了!head = end;reverse(start, end);// 上一组的结尾节点ListNode lastEnd = start;while (lastEnd.next != null) {start = lastEnd.next;end = getKGroupEnd(start, k);if (end == null) {return head;}reverse(start, end);lastEnd.next = end;lastEnd = start;}return head;
}

整个过程时间复杂度 O ( N ) O(N) O(N),空间复杂度 O ( 1 ) O(1) O(1)

更多

算法和数据结构学习笔记

算法和数据结构学习代码

参考资料

算法和数据结构体系班-左程云

http://www.rdtb.cn/news/15045.html

相关文章:

  • 乐山住房和城乡建设厅网站百度贴吧怎么发广告
  • 做英文网站赚钱上海seo怎么优化
  • 上海网站建设-目前企业网站所面临的困惑建网站
  • 时时彩五星做号网站北京seo推广公司
  • 怎么做网站访问统计国家认可的赚钱软件
  • 手机怎么自己创造网站互联网营销的方法
  • 网页美工设计书本大连seo外包平台
  • 常平网站开发什么软件可以推广自己的产品
  • 书店网站建设需求分析调研表有效果的网站排名
  • 南京自助建站百度云搜索引擎入口盘多多
  • 政府部门建设网站流程seo好学吗入门怎么学
  • 怎么才能建立一个网站百度注册页面
  • 洛卡博网站谁做的万网域名续费
  • 9377白蛇传奇赣州seo公司
  • 电子商务网站建设 市场分析网站维护公司
  • 手机版网站制作模板企业网站建设优化
  • sgs网站开发公司处理器优化软件
  • 如何做网站怎么赚钱百度网页版浏览器入口
  • 做网站实名认证总是失败怎么回事徐州关键词优化排名
  • 制作演示网站谷歌seo优化推广
  • wordpress本地访问满郑州seo优化服务
  • 微信朋友圈的网站连接怎么做百度公司总部在哪里
  • 培训平台有哪些泰州百度关键词优化
  • 中山做网站公司哪家好宁波seo网络推广外包报价
  • 湖南省建设工程网站seo优化人员
  • 动漫制作就业方向及前景windows优化大师有用吗
  • word怎么做网页seo百度站长工具
  • 学技巧网站制作软文写作网站
  • 合肥网站建设电话百度竞价排名系统
  • 网站首页建设公司西安疫情最新通知