Reorder List[LeetCode]

【学习总结】飞跨电容三电平boost拓扑发波分析与matlab仿真 正常工作时,飞跨电容的电压大约控制在输出电压的一半,降低了开关器件的耐受电压。 阅读详情

Reorder List


Given a singly linked list L: L0→L1→…→Ln-1→Ln,
reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…

You must do this in-place without altering the nodes' values.

For example,
Given {1,2,3,4}, reorder it to {1,4,2,3}.


/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    void reorderList(ListNode *head) {
        if(head == NULL || head->next == NULL || head->next->next == NULL) return;
        ListNode *list1 = head, *list2 = head, *headA = head, *headB = head;
        //2分成2个表,后面的表逆序
        while(list2 != NULL && list2->next != NULL){
            list1 = list1->next;
            list2 = list2->next->next;
        }
        headB = list1->next;
        list1->next = NULL;
        headB = reverse(headB);
        //按要求组合
        ListNode *p = headA, *q = headB, *now = headB;
        while(q){
            now = q->next;
            q->next = p->next;
            p->next = q;
            p = p->next->next;
            q = now;
        }
        head = headA;
    }
    
    //反转单链表
    ListNode* reverse(ListNode *head){
        if(head == NULL || head->next == NULL) return head;
        ListNode *pre = head,*cur = head->next,*ne = cur->next;
        while(ne){
            cur->next = pre;
            pre = cur;
            cur = ne;
            ne = ne->next;
        }
        cur->next = pre;
        head->next = NULL;
        return cur;
    }
    
};


 

【Apollo学习笔记】——规划模块TASK之SPEED_HEURISTIC_OPTIMIZER 在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第10个TASK——动态规划规划目标加速度尽可能小。 阅读详情

相关推荐

VisionMaster位置修正功能深度解析:如何让找圆工具自动跟随移动目标?

本文深度解析海康威视VisionMaster平台的位置修正功能,重点介绍如何通过模板匹配与找圆工具的智能联动实现移动目标的动态追踪。文章详细阐述了工业视觉检测中的坐标系同步原理、模板匹配配置技巧及异常处理策略,为工程师提供了一套完整的工业级解决方案。

uu89012的博客 282

LeetCode Reorder List

将单向链表L0→L1→…→Ln-1→Ln转化为L0→Ln→L1→Ln-1→L2→Ln-2→…的形式,也就是从头部取一个节点,从尾部取一个节点,直到将原链表转化成新的链表。

DRFish 2199

手把手教你用二茂铁催化剂搞定醇的动力学拆分(保姆级实验避坑指南)

本文详细介绍了使用平面手性二茂铁催化剂进行醇的动力学拆分的全流程,包括催化剂选择与制备、反应体系搭建与条件优化、实时监测与反应淬灭、产物分离与纯化等关键步骤。通过实战案例和避坑指南,帮助实验人员实现>98% ee的拆分效果,特别适合需要高光学纯度二级芳基醇或烯丙醇的研究者。

weixin_30500105的博客 435

Leetcode 143. Reorder List

Leetcode 143. Reorder List 问题描述:给定一个链表,要求把最后一位插入到第二位、倒数第二位插入到第三位… 链表问题很直接的思路就是断链、连链、暂存节点、暂存下个节点、快慢指针等操作。 继承前面142的思路,这里用快慢指针找到链表的中位数(index)位置,中位数后面的数字都是需要前插的,然后先进行链表的翻转,再进行合并得到最后的结果。 代码如下: class So...

Za七杂⑧ 173

告别配置噩梦:用Vcpkg三行命令为Easy3D自动安装Boost、CGAL和Qt(VS2022实测)

本文详细介绍了如何使用Vcpkg工具在VS2022环境下为Easy3D项目一键安装Boost、CGAL和Qt等依赖库,解决传统手动配置的复杂性问题。通过三行简单命令即可自动完成下载、编译和路径配置,大幅提升开发效率,特别适合C++开发者快速搭建3D图形开发环境。

weixin_42525582的博客 210

【国产MCU系列】-GD32F4开发环境搭建(基于Embedded Builder)

GD32F4系列MCU采用Arm® Cortex®-M4内核,处理器主频高达240MHz,可支持算法复杂度更高的嵌入式应用,具备更快速的实时处理能力,并拥有业界领先的大容量存储优势。

视觉与物联智能 3080

Leetcode 143 Reorder List

Leetcode 143 Reorder List 题目:Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… 原题链接 /** * Definition for singly-linked list. * struct ListNode { * int val; ...

UPUP&TOPTOP 182

从 VL02N 拣配到 ABAP 自动化,读懂 SD_DELIVERY_UPDATE_PICKING 的位置和风险

文章摘要:SAP SD模块中,SD_DELIVERY_UPDATE_PICKING函数模块用于处理出库交货单的拣配确认,更新交货项目的拣配数量。该函数适用于未启用WM/EWM的传统SD流程,能确保拣配状态与标准交货处理逻辑同步,比直接修改数据库更安全。但在S/4HANA Cloud等新环境中,应优先使用API_OUTBOUND_DELIVERY_SRV等公开发布接口。使用该函数时需注意参数完整性和按交货单整体处理的原则,避免逐项提交导致的数据不一致问题。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 246

[LeetCode] Reorder List

给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 给定链表 1->2->3->4, 重新排列为 1->4->2->3. 这道链表重排序问题可以拆分为以下三个小问题: 使用快慢指针来找到链表的中点,并将链表从中...

by_qmr的博客 258

Flink CDC 中 StartupOptions 模式详解

Flink CDC 的 StartupOptions 模式用于指定作业启动时从源数据读取数据的起始位置,不同的模式适用于不同的业务场景,可满足多样化的数据处理需求,主要有 Initial 模式、Earliest 模式、Latest 模式、SpecificOffset 模式和 Timestamp 模式。

RodJohnsonDoctor的专栏 849

[PCIE5.0] 2.2.8.3 Error Signaling Messages

错误信号消息用于在 PCI Express 设备之间传递错误信息,帮助系统发现并报告错误。每当发生某种错误时,检测到该错误的设备会通过发送这些消息来通知系统。• 没有数据负载:这些错误信号消息不包含任何数据(即 TLP Type 是 Msg),它们仅用于错误报告。• 长度字段保留:在这些消息中,长度字段是保留的,不使用。• 功能号(Function Number)字段:这个字段标识哪个设备发生了错误。

系统固件工程师 293

[Leetcode Week6]Reorder List

Reorder List 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/reorder-list/description/ Description Given a singly linked list L: L0?L1?…?Ln-1?Ln, reorder it to: L0?Ln?L1?Ln-1?L2?Ln-2?… You must do th...

weixin_30500663的博客 124

【Unity】【2D】用连续图片生成动画Animation的简明步骤

本文介绍了Unity中使用2D连续图片制作2D动画Animation的简明步骤。

O青草O的博客 Unity和游戏制作知识分享 718

LeetCode之Reorder List

Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes' values. For example, Given {1,2,3,4}, reorder it t

Peep Hole 1126

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【LeetCode】143. Reorder List 解题报告(Python)

【LeetCode】143. Reorder List 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.me/ 题目地址:https://leetcode.com/problems/reorder-list/descri...

负雪明烛 2901

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

LeetCode 143 Reorder List

LeetCode 143 Reorder List 题目链接 Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You may not modify the values in the list’s nodes, only nodes itself may be changed. Example 1: Given 1->2->3->4, reorder it to 1-

旺崽的博客 2449

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【LeetCode】 143. Reorder List 重排链表(Medium)(JAVA)每日一题

【LeetCode】 143. Reorder List 重排链表(Medium)(JAVA) 题目地址: https://leetcode.com/problems/reorder-list/ 题目描述: Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You may not modify the values in the list’s nodes, only nodes itse

qq_16927853的博客 209

leetcode之reorder-list

题目描述 Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes' values. For example, Given{1,2,3,4}, reorder

code to success 623

LeetCode题解之Reorder List

1、题目描述 2、题目分析 首先将链表分为两段,然后将后面的一段反转,再合并两个链表。 3、代码 1 void reorderList(ListNode* head) { 2 if (head == nullptr || head->next == nullptr || head->next->next == nullptr) 3 ...

weixin_30270561的博客 160

[LeetCode][143] Reorder List

先遍历一遍知道有多长 然后取到中间把整个链表断开 然后把后半部分反转 并且一一merget到前部份 /* * @lc app=leetcode id=143 lang=cpp * * [143] Reorder List * * https://leetcode.com/problems/reorder-list/description/ * * algorithms * Med...

OCEANtroye的博客 327

Leetcode 143. Reorder List (Medium) (cpp)

Leetcode 143. Reorder List (Medium) (cpp)

还是需要多学习!闷声大发财,这是坠吼的! 418

leetcode143. Reorder List

题目描述 Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You may not modify the values in the list’s nodes, only nodes itself may be changed. Example 1: Given 1->2...

中华小当家的博客 206

[LeetCode]Reorder List

https://leetcode.com/problems/reorder-list/ 三步走,找中间节点,翻转后半部分,前后两部分依次插入 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(

gqk289的专栏 164

Reorder List|leetcode题解

此题思路比较简单,分为三步: 1.利用快慢指针,将链表从中间断开。 2.翻转右半部分链表 3.将两个链表合并 首先,是我提交的第一个版本,耗时880mm,非常的慢 ListNode *reverseList(ListNode *head){ if(NULL==head)return NULL; if(NULL==head->next)return head;

xueluo0000的专栏 418

leetcode reorder-list(Java)

leetcode题目 reorder-list 题目描述 * Given a singly linked list L: L 0→L 1→…→L n-1→L n, * reorder it to: L 0→L n →L 1→L n-1→L 2→L n-2→… * You must do this in-place without altering the nodes' values. * ...

聚沙成塔 316

[LeetCode 143] Reorder List Solution

Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder

程序人生 1287
上一篇: Insertion Sort List[LeetCode]
下一篇: 俄罗斯方块,4个方块的形状有5个,5个方块呢?6个?
Laegolas
博客等级 码龄17年 10粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值