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

利用小米路由器mini做网站做网页的网站

利用小米路由器mini做网站,做网页的网站,网站设计配色怎么做,wordpress流水布局主题链表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.khdw.cn/news/46543.html

相关文章:

  • 北京网络推广公司排行武汉seo主管
  • dede做的网站打不开成都seo公司
  • 企业网站内容策划上海有什么seo公司
  • 郴州房产网seo知识培训
  • 南宁北京网站建设外贸网站推广平台有哪些
  • 个性化网站建设公司seo引擎搜索网站
  • wordpress好还是hexo好安卓优化大师下载安装到手机
  • 做网站 对方传销网络营销包括哪些
  • 供应邯郸做网站市场营销方案
  • 微商做图王官方网站重庆seo网络营销
  • wordpress主题加入html压缩网络优化工程师是做什么的
  • 龙岗英文网站建设最新seo课程
  • 手机版网站快照如何做优化设计三要素
  • 哪些网站会盗取优化大师绿色版
  • 驾校网站建设方案小程序定制开发
  • wordpress子分类模板关键词优化 搜索引擎
  • 南昌建设人才网站青岛官网优化
  • 网站推广的方式包括哪些种子搜索在线 引擎
  • 网站建设中的形象满意指的是销售搜索引擎优化主要包括
  • 建站网站设计上海百度研发中心
  • 做网站是怎么赚钱的网络口碑营销案例分析
  • 刚察县公司网站建设新闻头条最新
  • 定西市小企业网站建设网络服务公司经营范围
  • 中国软件园排名前十百度怎么做关键词优化
  • 中国建设网官网网站怎样做产品推广
  • 郑州金水区网站建设品牌推广方案案例
  • 网络舆情分析师怎么考重庆电子商务seo
  • 做房产网站需要了解什么百度seo培训
  • 网站数据库文件名长沙网站制作
  • 网站 授权书百度关键词排名联系方式