-
LeetCode刷题笔记-数据结构-day13
-
- 25. K 个一组翻转链表
-
- 1.题目描述
-
2.解题思路
-
3.代码
-
143. 重排链表
-
- 1.题目描述
-
2.解题思路
-
3.代码
================================================================================
1.题目描述
原题链接:25. K 个一组翻转链表
2.解题思路
我们可以考虑分这几步:
-
增加虚拟头节点,方便后续操作
-
判断接下来的一段个数是否大于等于k
-
如果满足2,将这段进行反序
-
将倒序后的尾节点指向下一段的头节点
-
将p指针的next更新为倒序后的头部
-
更新p为倒序后的尾部,进行下一个反序操作
3.代码
class Solution {
public:
ListNode* reverseKGroup(ListNode* head, int k) {
ListNode* dummy=new ListNode(-1);
dummy->next=head;
for(auto p=dummy;😉{
auto t=p;
//2
for(int i=0;i<k&&t;i++) t=t->next;
if(!t) break;
auto a=p->next,b=a->next;
//3
for(int i=0;i<k-1;i++){
auto c=b->next;
b->next=a;
a=b,b=c;
}
auto c=p->next;
//4
c->next=b;
//5
p->next=a;
//6
p=c;
}
return dummy->next;
}
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后
即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!
我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:
Dubbo面试专题
JVM面试专题
Java并发面试专题
Kafka面试专题
MongDB面试专题
MyBatis面试专题
MySQL面试专题
Netty面试专题
RabbitMQ面试专题
Redis面试专题
Spring Cloud面试专题
SpringBoot面试专题
zookeeper面试专题
常见面试算法题汇总专题
计算机网络基础专题
设计模式专题
中…(img-sH9SkmuC-1711059566054)]
常见面试算法题汇总专题
[外链图片转存中…(img-851FSwIR-1711059566054)]
计算机网络基础专题
[外链图片转存中…(img-HtizAvED-1711059566054)]
设计模式专题
[外链图片转存中…(img-zPL0qIxx-1711059566055)]