LeetCode 143.重排链表

题目

给定一个单链表 L 的头节点 head ,单链表 L 表示为:

L0 → L1 → … → Ln - 1 → Ln

请将其重新排列后变为:

L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …

不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

思路:找中点,反转,前后逐一重排

代码

class Solution {public void reorderList(ListNode head) {ListNode mid = middleNode(head);ListNode head2 = reverseList(mid);while (head2.next != null) {ListNode nxt = head.next;ListNode nxt2 = head2.next;head.next = head2;head2.next = nxt;head = nxt;head2 = nxt2;}}private ListNode middleNode(ListNode head) {ListNode slow = head, fast = head;while (fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;}return slow;}private ListNode reverseList(ListNode head) {ListNode pre = null, cur = head;while (cur != null) {ListNode nxt = cur.next;cur.next = pre;pre = cur;cur = nxt;}return pre;}
}

性能

时间复杂度o(n)

空间复杂度o(1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/10622.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Linux进程信号(信号的产生)

目录 什么是信号? 信号的产生 信号产生方式1:键盘 前台进程 后台进程 查看信号 signal系统调用 案例 理解进程记录信号 软件层面 硬件层面 信号产生方式2:指令 信号产生方式3:系统调用 kill系统调用 案例 其他产生信号的函数调用 1.rais…

【C++】STL— stack的常见用法和模拟实现

目录 1、stack的介绍 2、stack的使用 构造一个空栈 stack的简单接口应用 3、stack的模拟实现 4、栈的相关题目 4.1 最小栈 4.1.2思路 4.1.3 实现代码 4.2 栈的压入、弹出序列 4.2.2 思路 4.2.3程序实现 1、stack的介绍 在C中,stack是一种标准模板库&am…

神书《从零构建大模型》分享,尚未发布,GitHub标星22k!!

《从零构建大模型》是一本即将于今年10月底发布的书籍,github已经吸引了惊人的21.7k标星!作者是威斯康星大学麦迪逊分校的终身教授,在GitHub、油管、X上拥有大量粉丝,是一位真正的大佬。 本书免费获取地址 在本书中&#xff0…

【深度学习目标检测|YOLO算法2】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析...

【深度学习目标检测|YOLO算法2】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析… 【深度学习目标检测|YOLO算法2】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析… 文章目录 【深度学习目标检测|YOL…

动态避障-图扑自动寻路 3D 可视化

自动寻路是机器人导航的核心技术,其原理主要涉及机器人与环境之间的复杂信息交互与处理。在自动寻路过程中,机器人依靠先进的传感器系统,如高清摄像头、精密激光雷达和灵敏超声波装置,全方位感知周围环境。这些传感器能够实时捕捉…

Docker 镜像拉不动?自建 Docker Hub 加速站 解决镜像拉取失败

本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 众所周知,6 月份的时候,Docker Hub 的镜像就已经无法正常拉取,那会随手用 Nginx 反代了一下 Docker Hub,建了个自用的镜像站,一直用到了 9 月份&…

RabbitMQ集群搭建

RabbitMQ集群搭建 1、RabbitMQ集群1.1、默认集群模式1.1.1、为什么集群不复制队列内容和状态到所有节点? 1.2、镜像集群模式 2、默认集群模式安装前准备2.1、准备3台机器2.2、启动三台机器2.3、使用xshell 连接三台机器2.4、服务器安装erlang和RabbitMQ2.5、修改三台机器的/et…

mysql-springboot netty-flink-kafka-spark(paimon)-minio

1、下载spark源码并编译 mkdir -p /home/bigdata && cd /home/bigdata wget https://archive.apache.org/dist/spark/spark-3.4.3/spark-3.4.3.tgz 解压文件 tar -zxf spark-3.4.3.tgz cd spark-3.4.3 wget https://raw.githubusercontent.com/apache/incubator-celeb…

系统安全第七次作业题目及答案

一、 1.RBAC0 RBAC1 RBAC2 RBAC3 2.属性 身份标识 3.接入访问控制 资源访问控制 网络端口和节点的访问控制 二、 1.B 2.A 3.ABE 4.BCD 5.ABC 三、 1. 答:基于属性的访问控制(ABAC)是通过对实体属性添加约束策略的方式实现主、客体之…

【GESP】C++一级真题练习(202312)luogu-B3922,小杨报数

GESP一级真题练习。为2023年12月一级认证真题。for循环和取余计算应用。 题目题解详见:https://www.coderli.com/gesp-1-luogu-b3922/ 【GESP】C一级真题练习(202312)luogu-B3922,小杨报数 | OneCoderGESP一级真题练习。为2023年12月一级认证真题。for…

国科大现代信息检索技术第一次作业

第一次作业 题目1:考虑以下文档 文档名内容文档1new home sales top forecasts文档2home prices rise in june文档3increase in home sales in june文档4july new home sales rise 1、画出文档集对应的词项-文档矩阵 文档1文档2文档3文档4forecasts1000home1111…

计算机视觉实验四:特征检测与匹配

特征检测与匹配 1 角点检测算法实验 1.1 实验目的与要求 (1)了解及掌握角点检测算法原理。 (2)掌握在MATLAB中角点算法的编程。 (3)掌握Moravec,Harris与SUSAN算法的差异。 1.2 实验原理及…

十八:Spring Boot 依赖(3)-- spring-boot-starter-data-jpa 依赖详解

目录 1. 理解 JPA(Java Persistence API) 1.1 什么是 JPA? 1.2 JPA 与 Hibernate 的关系 1.3 JPA 的基本注解:Entity, Table, Id, GeneratedValue 1.4 JPA 与数据库表的映射 2. Spring Data JPA 概述 2.1 什么是 Spring Dat…

如何用C++代码实现一颗闪烁的爱心?

要用 C 实现爱心闪烁效果,我们可以使用控制台输出文本,并通过在控制台中刷新屏幕来模拟闪烁的效果。由于 C 本身没有类似 turtle 这样的图形库,操作控制台输出的方式比较简单,主要通过字符绘制和时间延迟来实现。 这里给出一个基…

基于美颜SDK的实时视频美颜平台开发:技术难点与解决方案

美颜SDK作为视频美颜平台的核心,提供了多种美颜功能。这些功能通过调整参数实现对人脸特征的优化。在架构设计上,美颜SDK主要包括以下几部分: 1.人脸检测与特征点识别:通过深度学习模型,识别人脸并标记出关键特征点&a…

web实操4——servlet体系结构

servlet体系结构 我们基本都只实现service方法,其余几个都不用, 之前我们直接实现servlet接口,所有的方法都必须实现,不用也得写,不然报错,写了又不用当摆设。 能不能只要定义一个service方法就可以&…

数据分析反馈:提升决策质量的关键指南

内容概要 在当今快节奏的商业环境中,数据分析与反馈已成为提升决策质量的重要工具。数据分析不仅能为企业提供全面的市场洞察,还能帮助管理层深入了解客户需求与行为模式。掌握数据收集的有效策略和工具,企业能够确保获得准确且相关的信息&a…

香港航空 m端 腾讯滑块分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我删…

[2024最新] macOS 发起 Bilibili 直播(不使用 OBS)

文章目录 1、B站账号 主播认证2、开启直播3、直播设置添加素材、隐私设置指定窗口添加/删除 窗口 4、其它说明官方直播帮助中心直播工具教程 目前搜到的 macOS 直播教程都比较古早,大部分都使用 OBS,一番探索下来,发现目前已经不需要 OBS了&a…

大数据-210 数据挖掘 机器学习理论 - 逻辑回归 scikit-learn 实现 penalty solver

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…