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

链表-143.重排链表-力扣(LeetCode)

一、题目解析

1、不能单纯改变节点内部的值,要改变节点的指针

2、节点个数为[1,5*10^4]

二、算法原理

解法:模拟

对于上面的重排,我们可以将其拆解为两个链表合并,后面一个链表需要逆置,而分割的位置正好处于原链表的中间节点,由此我们可以模拟这个过程来重拍链表

1、找到链表的中间节点

快慢指针法

2、把后面的部分逆置

三指针头插法

只需按顺序链接即可,newhead->next = slow,slow->next = tail,tail = slow

3、合并两个链表

以一个哨兵为头节点,依次尾插即可,最后delete哨兵位头节点即可

画图可以解决指针链接问题,链表问题建议多画图

三、代码示例

class Solution {
public:void reorderList(ListNode* head){ListNode* cur1 = head,*cur2 = head;//找中间while(cur2 && cur2->next){cur1 = cur1->next;cur2 = cur2->next->next;}//逆序后面(头插三指针)ListNode* newhead2 = new ListNode();newhead2->next = cur1;ListNode* cnext = cur1->next;cur1->next = nullptr;while(cnext){ListNode* nnext = cnext->next;newhead2->next = cnext;cnext->next = cur1;cur1 = cnext;cnext = nnext;}//合并ListNode* newhead1 = new ListNode();ListNode* tail = newhead1;while(cur1){tail->next = head;tail = head;if(head->next == nullptr) break;head = head->next;tail->next = cur1;tail = cur1;cur1=cur1->next;}//释放哨兵位头节点delete newhead1;delete newhead2;}
};

看到最后,如果对您有所帮助,还请点赞、收藏和关注,我们下期再见!

http://www.dtcms.com/a/342270.html

相关文章:

  • 微信小程序集成vant-weapp时,构建npm报错的解决办法
  • 基于springboot的中医养生管理系统
  • Pytorch基础学习--张量(生成,索引,变形)
  • 火语言 RPA 进阶功能:让自动化更实用​
  • 交易高光时刻-01
  • SOP到自动化:一种适合小型金融机构的轻量级开源工具整合方案
  • Vue3+Spring Boot技术栈,前端提交混合表单数据(普通字段+文件字段),上传文件,后端插入数据,将文件保存到数据库
  • Docker端口映射与数据卷完全指南
  • 几张PPT快速了解云原生与华为云CCE方案
  • Eureka和Nacos的原理分析
  • openEuler系统中r如何将docker安装在指定目录
  • CentOS 7常用国内源配置:阿里云、腾讯云、华为云、清华源
  • 从聚类到集成,两种实用算法框架分享
  • 医疗信息化自主可控转型的实践探索 —— 以常德二院为例
  • 为什么调用API总返回404,该如何调试
  • 35、自主移动机器人 (AMR) 调度模拟 (电子厂) - /物流与仓储组件/amr-scheduling-electronics
  • 机器学习-集成算法
  • HarmonyOS 时钟应用开发详解:从零构建实时时钟组件
  • MS17-010永恒之蓝复现
  • Prometheus+Grafana 监控体系搭建:从入门到告警配置
  • open3d-点云函数:变换:旋转,缩放、平移,齐次变换(R,T)等
  • 从“卡脖子”到“自主可控”!电科金仓+东华医为生态协同,打造医疗新范式
  • postman接口自动化测试
  • NavA3——双VLM架构下的先“推理解析”后“定位导航”:理解任意指令,导航至任意地点,查找任意目标
  • opencv基础学习与实战(3)图像形态学与边缘检测
  • langgraph快速搭建agent后端和react前端
  • TOC语法源码生成脚本:基础易纷呈,进阶心渲染(python)
  • 基于 Flask 与 Milvus 构建高效图片搜索引擎,可通过API接入,支持Docker一键部署
  • java学习 1504 统计全1子矩形 + python生成ppt部分思路
  • 项目从 MySQL 切换 PostgreSQL,踩了太多的坑