首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
备考首页
>
数据结构
>
链表
62
编程题
62
/
71
将给出的链表中的节点每 k
个一组翻转,返回翻转后的链表
如果链表中的节点数不是 k 的倍数,将最后剩下的节点保持原样
你不能更改节点中的值,只能更改节点本身。
数据范围:
,
,链表中每个元素都满足
要求空间复杂度
,时间复杂度
例如:
给定的链表是
对于
, 你应该返回
对于
, 你应该返回
参考答案
将一条链表分块分为链表长度/k块链表,如果处不尽则说明后面会有剩下的那一块是不满长度为k的。在最初的时候需要定义两个NodeList表示result(结果)和 now(当前所到达的结果链表的位置)。之后遍历块的长度,对每一个链表块进行翻转,再翻转完后将完成的链表插入到now链表的下一个,再将now链表更新到最前即可。
纠错
收藏
查看讨论
1
...
57
58
59
60
61
62
63
64
65
66
67
...
71
跳转到
确 定
上一题
下一题
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题