【力扣专题栏】重排链表,如何实现链表里面节点之间的交换?

ops/2024/11/1 7:21:39/

在这里插入图片描述

题解目录

  • 1、题目描述+解释
    • 2、算法原理解析
      • 3、代码编写

1、题目描述+解释

在这里插入图片描述

主要就是实现:第一个节点和最后一个节点交换,第二节点和倒数第二个节点交换,依次交换下去。

2、算法原理解析

在这里插入图片描述

3、代码编写

class Solution {
public:void reorderList(ListNode* head) {//先找到中间节点ListNode* slow=head,*fast=head;while(fast&&fast->next){slow=slow->next;fast=fast->next->next;}//此时把链表从slow->next节点分为两个链表ListNode* cur1=head;ListNode* cur2=slow->next;//把slow->next节点的后面断开slow->next=nullptr;//把后面的链表逆序一下ListNode* new_head2=new ListNode(0);while(cur2){ListNode* next=cur2->next;cur2->next=new_head2->next;new_head2->next=cur2;cur2=next;}//此时已有两个链表//合并cur2=new_head2->next;ListNode* NewHead=new ListNode(0);ListNode* ptail=NewHead;while(cur1){ptail->next=cur1;ptail=cur1;cur1=cur1->next;if(cur2){ptail->next=cur2;ptail=cur2;cur2=cur2->next;}}}
};

http://www.ppmy.cn/ops/130072.html

相关文章

sqlserver、达梦、mysql调用存储过程(带输入输出参数)

1、sqlserver,可以省略输出参数 --sqlserver调用存储过程,有输入参数,有输出参数--省略输出参数 exec proc_GetReportPrintData 1, , , 1--输出参数为 null exec proc_GetReportPrintData 1, , , 1, null--固定输出参数 exec proc_GetReport…

高效租房流程管理:Spring Boot租房系统解析

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

无人机多机编队控制算法详解!

一、主要算法类型 长机-僚机法(Leader-Follower) 原理:通过设定一架无人机作为长机(领航者),其他无人机作为僚机(跟随者),僚机根据长机的信息来调整自身的飞行状态&#…

HTML5和CSS3常见面试题

😊HTML5和CSS3常见面试题 1.HTML5有哪些新特性?2.你是如何理解语义化标签的?3.CSS3有哪些新特性?4.rem和em的区别是什么?5.如何实现自适应布局?6.清除浮动的方法有哪些?7.伪元素清除的原理是什么…

微服务设计模式 — 补偿事务模式(Compensating Transaction Pattern)

微服务设计模式 — 补偿事务模式(Compensating Transaction Pattern) 定义 在云计算和分布式系统中,管理跨多个微服务或组件的事务一致性是一项极具挑战性的任务,补偿事务模式Compensating Transaction Pattern)是一种…

【ShuQiHere】数据科学与人工智能必备的 Python 包大全

【ShuQiHere】📚💡 在数据科学与人工智能的世界里,拥有一套强大的 Python 工具包可以让您的研究和项目事半功倍。本文将详细介绍这些必备的包,每个包都附有用途、特点、安装方式,以及实际的代码示例和学习资源&#x…

Python酷库之旅-第三方库Pandas(181)

目录 一、用法精讲 836、pandas.api.types.is_file_like函数 836-1、语法 836-2、参数 836-3、功能 836-4、返回值 836-5、说明 836-6、用法 836-6-1、数据准备 836-6-2、代码示例 836-6-3、结果输出 837、pandas.api.types.is_list_like函数 837-1、语法 837-2、…

CentOS 9 Stream 上安装 Maven

CentOS 9 Stream 上安装 Maven 在 CentOS 9 Stream 上安装 Maven,可以按照以下步骤进行: 更新系统软件包: sudo dnf update安装 Maven: CentOS 9 Stream 默认的包管理器中已经包含 Maven,你可以直接安装: s…