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

【力扣】重排链表

重排链表

代码

class Solution {
public:void reorderList(ListNode* head) {//当链表只有一个节点或两个节点时直接返回空,不用重排if (head->next == NULL || head->next->next == NULL) return;//1. 进行分割链表ListNode* fast = head, *slow = head;ListNode* end1 = NULL;while (fast && fast->next){fast = fast->next->next;end1 = slow;slow = slow->next;}end1->next = NULL;//链表断开,方便合并链表//2. 反转后半部分链表ListNode* prev = NULL, *cur = slow;while (cur){ListNode* next = cur->next;cur->next = prev;prev = cur;cur = next;}//3. 在原链表上合并两个链表ListNode* cur1 = head->next, *cur2 = prev;ListNode* end = head;//后半部分链表包括了slow指针,后半部分链表节点不会比前半部分链表节点少while (cur2){//先链接后半部分链表,再链接前半部分链表ListNode* next2 = cur2->next;end->next = cur2;end = end->next;cur2 = next2;if (cur1){ListNode* next1 = cur1->next;end->next = cur1;end = end->next;cur1 = next1;}}}
};

相关文章:

  • C++ static的使用方法及不同作用
  • 你知道微生物是如何调控植物功能基因的吗?
  • 供水公司一体化抄表营业收费系统
  • 在 Kali Linux 上安装 Java OpenJDK 8(详细指南)
  • 电商|基于java+vue的农业电商系统(源码+数据库+文档)
  • oracle数据库启动阶段 NoMount / Mount / Open
  • 《Adaptive Layer-skipping in Pre-trained LLMs》- 论文笔记
  • 论文阅读:2022 ACL TruthfulQA: Measuring How Models Mimic Human Falsehoods
  • 数据中台(大数据平台)之数据安全管理
  • 4.1.2 Redis协议与异步方式
  • 智造未来:自动化智能检测系统实现近线检测与智能测量协同
  • 马的移动(BFS)
  • Causal Attention的底层原理
  • JVM详解(曼波脑图版)
  • Qt GUI 库总结
  • webview真正实现通信!!!
  • Vue 3中处理搜索框输入与数据库请求的交互
  • R4打卡——pytorch实现LSTM预测火灾
  • html+js+clickhouse环境搭建
  • [图像掩膜,ROI切割] 图像预处理(OpenCV)-part4
  • 东莞“超级”音乐节五一出圈背后:文旅热力何以澎湃经济脉动
  • 习近平向“和平薪火 时代新章——纪念中国人民抗日战争和苏联伟大卫国战争胜利80周年中俄人文交流活动”致贺信
  • 重磅金融政策密集发布!一文梳理这场国新办发布会
  • 娱见 | 为了撕番而脱粉,内娱粉丝为何如此在乎番位
  • A股高开高走,三大股指涨超1.1%:两市成交1.3万亿元,近5000股收涨
  • 今天全国铁路、公路进入返程高峰,这些路段时段通行压力大