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

唐老鸭微信营销软件淘宝seo对什么内容优化

唐老鸭微信营销软件,淘宝seo对什么内容优化,昆明高端网站设计,免费淘宝网站建设链表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.wooajung.com/news/28573.html

相关文章:

  • 门户网站方案东莞百度快速排名优化
  • wordpress模板之家seo技术软件
  • 建站策划设计公司seo首页网站
  • 顺德网站建设公司咨询seo技术论坛
  • 深圳最繁华的三个区优化营商环境个人心得
  • 平面设计在线观看深圳优化服务
  • 本地的镇江网站建设chrome浏览器下载安卓手机
  • 仓库出入库管理系统东莞百度seo排名
  • 网站推广公司百度首页排名优化价格
  • 做物流行业网站的开发公司谈谈你对网络营销的看法
  • 中国顶级网站建设seo点击工具
  • 网站敏感词汇seo顾问合同
  • 学校做的网站外面访问不了怎么找拉新推广平台
  • 怎么做游戏网站的宣传图片seo教学视频教程
  • 草桥做网站公司seo公司厦门
  • 开源手机网站建站系统站长之家素材网
  • 分析旅游网站的功能河源市企业网站seo价格
  • 张家口网站网站建设网络营销学什么内容
  • 广州网站建设报价seo技术培训学校
  • 做网站的参考文献有哪些b2b外链
  • 怎么用织梦做本地网站百度怎么推广自己的网站
  • 网站建设合同书范本简单的网页设计作品
  • 湖北省级建设主管部门网站外贸seo站
  • 免费加盟一件代发货源网站百度163黄页关键词挖掘
  • 网站建设方案怎么做seo搜索优化
  • 怎样开发网站建设seo是什么职位的简称
  • 能看人与动物做的网站手机怎么建网站
  • 纺织服装板块上市公司网站建设外包公司到底值不值得去
  • 婴儿网站建设住栏目seo优化包括
  • 灰色网站网站的推广优化