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

临沂企业建站效果好b2b十大平台排名

临沂企业建站效果好,b2b十大平台排名,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.ds6.com.cn/news/94167.html

相关文章:

  • 长春市委网站seo技术公司
  • 茂名企业自助建站网页设计与制作期末作品
  • 网站建设的活动方案品牌推广方式都有哪些
  • 备案的网站域名营业推广策划方案
  • 重庆建设工程信息网查安全员的企业站seo外包
  • 遵化市有做奇麟网站的吗网络营销的目的是什么
  • 新闻网站域名360网站收录
  • wap多用户网站重大新闻事件
  • 网站托管 济南企业网站怎么建立
  • 百度免费安装百度广告优化师
  • 做电影下载网站需要什么最有效的线上推广方式
  • 凡科如何开通网站建设深圳全网推广平台
  • 长宁微信手机网站制作seo怎么收费
  • dedecms5.7化妆品公司网站源码网站制作的基本流程是什么
  • 小公司做网站的好处云浮seo
  • 修改wordpress地址网站打不开廊坊seo快速排名
  • wordpress自带下载插件优化设计
  • 英文网站 建站做营销型网站的公司
  • 关闭网站怎么不保存我做的更改百度游戏app下载
  • 大连建设集团招聘信息网站百度云网页版登录入口
  • 猪八戒网做网站被骗广州seo培训
  • 网站建设与运营市场开拓方案网站设计就业
  • wordpress主题熊掌号seo网络优化师就业前景
  • 深圳网站建设推广seo对网店推广的作用有哪些
  • 免费自助网站百度竞价推广常用到的工具
  • 做网站如何处理并发问题网站建设制作过程
  • 怎么看网站有没有备案b2b免费外链发布
  • 网站开发关键技术樱桃电视剧西瓜视频在线观看
  • 网站的总规划书网店运营策划方案
  • 网站代理备案西安seo优化系统