算法日常・每日刷题--<链表>3
LCR 026. 重排链表 - 力扣LeetCodeLCR 026. 重排链表 - 给定一个单链表 L 的头节点 head 单链表 L 表示为 L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → …不能只是单纯的改变节点内部的值而是需要实际的进行节点交换。 示例 1[https://pic.leetcode.cn/1626420311-PkUiGI-image.png]输入: head [1,2,3,4]输出: [1,4,2,3]示例 2[https://pic.leetcode.cn/1626420320-YUiulT-image.png]输入: head [1,2,3,4,5]输出: [1,5,2,4,3] 提示 * 链表的长度范围为 [1, 5 * 104] * 1 node.val 1000 注意本题与主站 143 题相同https://leetcode.cn/problems/reorder-list/ [https://leetcode.cn/problems/reorder-list/]https://leetcode.cn/problems/LGjMqU/description/题目描述给定单链表头节点head原始链表限制不能修改节点内数值必须调整节点指针。示例 输入链表1 → 2 → 3 → 4输出链表1 → 4 → 2 → 3解法快慢指针找到链表中点快指针一次走 2 步慢指针一次走 1 步循环结束后慢指针指向链表中点。 把链表切分成前后两半 前半段L0 → L1 → …后半段Lmid → … → Ln反转后半段链表后半段反转之后顺序变为Ln → Ln-1 → … → Lmid交替合并两个链表依次从前半段、反转后的后半段取节点拼接完成重排。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ class Solution { public: void reorderList(ListNode* head) { if(!head || !head-next) return; // 1.快慢指针找中点 ListNode *slow head, *fast head; while(fast-next fast-next-next){ slow slow-next; fast fast-next-next; } // 分割前后两段 ListNode* mid slow-next; slow-next nullptr; // 2.反转后半段链表 ListNode* prev nullptr; ListNode* cur mid; while(cur){ ListNode* nxt cur-next; cur-next prev; prev cur; cur nxt; } ListNode* rHalf prev; // 反转后的后半段头节点 // 3.交替合并两个链表 ListNode* p1 head; ListNode* p2 rHalf; while(p2){ ListNode* n1 p1-next; ListNode* n2 p2-next; p1-next p2; p2-next n1; p1 n1; p2 n2; } } };

相关新闻

动态校准技术在边缘计算模型量化中的应用与优化

动态校准技术在边缘计算模型量化中的应用与优化

1. 量化校准技术演进背景在边缘计算和实时推理领域,模型量化技术已经成为不可或缺的核心技术。通过将32位浮点权重转换为8位整数(INT8)甚至更低精度的表示,我们能够显著降低模型的计算复杂度和内存占用。这使得像Jetson Nano这样的…

2026/7/26 4:42:12阅读更多 →
ESP32 MicroPython开发环境搭建:VSCode高效配置与调试实战

ESP32 MicroPython开发环境搭建:VSCode高效配置与调试实战

1. 项目概述:为什么是ESP32MicroPythonVSCode?如果你玩过ESP32,大概率是从Arduino开始的。上手快、库多、社区成熟,这确实是入门的好选择。但当你开始做一些稍微复杂的项目,比如需要处理JSON数据、连接多个传感器、或者…

2026/7/26 4:42:12阅读更多 →
基于深度学习的草莓腐烂智能检测系统设计与实现

基于深度学习的草莓腐烂智能检测系统设计与实现

1. 项目背景与核心价值草莓作为高经济价值的水果,其保鲜期短、易受微生物侵染的特性导致产后损耗率居高不下。传统人工分拣方式存在效率低(每小时仅能处理200-300颗)、误判率高(约15%-20%)的问题,而基于深度…

2026/7/26 4:42:12阅读更多 →
你的描述符为何“失忆”?——Python __set_name__ 的属性名自动捕获与常见踩坑指南

你的描述符为何“失忆”?——Python __set_name__ 的属性名自动捕获与常见踩坑指南

你的描述符为何“失忆”?——Python __set_name__ 的属性名自动捕获与常见踩坑指南 在 Python 的描述符世界里,对象属性访问的三大魔术方法——__get__、__set__、__delete__——让你能自定义属性的存取行为,实现类型校验、延迟加载、ORM 映射…

2026/7/26 8:32:59阅读更多 →
消息源加载“走火入魔”:Spring Boot 多文件国际化顺序混乱的终结指南

消息源加载“走火入魔”:Spring Boot 多文件国际化顺序混乱的终结指南

消息源加载“走火入魔”:Spring Boot 多文件国际化顺序混乱的终结指南 你的 Spring Boot 应用精心准备了多套国际化资源:messages.properties 存放公共文案,validation.properties 存放校验消息,还有各个模块自己的 module-messag…

2026/7/26 8:32:59阅读更多 →
在线考试系统稳定性保障:高并发与编译器故障排查优化

在线考试系统稳定性保障:高并发与编译器故障排查优化

这次我们来看一个比较特殊的主题——GESP202606现场考试系统遇到的技术问题。虽然标题看起来像日常吐槽,但背后涉及的是在线考试系统的稳定性、开发流程管理和技术实施质量等实际问题。 从材料看,这次考试出现了网站报错、编译器故障、官网直接崩溃等问…

2026/7/26 8:32:59阅读更多 →
Azure Linux 4.0深度解析:微软官方云原生发行版的技术特性与实践指南

Azure Linux 4.0深度解析:微软官方云原生发行版的技术特性与实践指南

这次我们来看微软最新发布的Azure Linux 4.0发行版。作为微软自家的Linux发行版,它基于Fedora构建,专门针对Azure云环境和WSL(Windows Subsystem for Linux)优化。对于需要在微软生态中运行Linux工作负载的开发者来说,…

2026/7/26 8:32:59阅读更多 →
如何更好的利用AI,搭配提示词,缩短项目开发效率

如何更好的利用AI,搭配提示词,缩短项目开发效率

前言很多前端新手找 AI 写页面、调样式、写交互时,经常踩坑:AI 输出代码残缺、样式不符合需求、交互逻辑漏洞百出、还要来回反复沟通修改,极大浪费开发时间。 核心根源是提示词信息缺失、结构混乱、约束条件模糊。如何利用AI提高开发效率一、…

2026/7/26 8:32:59阅读更多 →
Audio2Face+UE5实时驱动MetaHuman表情:完整配置与性能优化指南

Audio2Face+UE5实时驱动MetaHuman表情:完整配置与性能优化指南

1. 项目概述:从声音到表情的实时桥梁最近在折腾一个挺有意思的项目,核心目标是把一段音频,实时地、高质量地驱动一个MetaHuman角色的面部表情。说白了,就是让虚拟人能“开口说话”,而且说得自然、生动。这听起来像是电…

2026/7/26 8:30:59阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/25 23:03:25阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/25 19:03:04阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/25 19:03:04阅读更多 →