LeetCode328奇偶链表

题目描述

  给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。

解析

  用另一个链表去存放偶数的节点,然后链接到奇数节点上即可。

public ListNode oddEvenList(ListNode head) {
        if (head == null || head.next == null) {
            return head;
        }

        ListNode p1 = head;
        ListNode even = new ListNode(0);
        ListNode p2 = even;

        while(p1.next != null){
            p2.next = p1.next;
            p2 = p2.next;
            p1.next = p1.next.next;
            if (p1.next != null) p1 = p1.next;
        }
        
        p2.next = null;
        p1.next = even.next;

        return head;
    }

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

node.js的Express框架的介绍 与 安装详细教程

一、Express框架介绍 (1)Express定义: Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。 使用 Express 可以快速地搭建一个完整功能的网站。 &#xff08…

DDoS防护的市场需求将不断增长,DDoS高防IP显得各位重要

分布式拒绝服务(DDoS)攻击是一种恶意攻击,它借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的为例。DDoS攻击通过大量合法的请求占用大…

19个测试⽤例⽣成的AI⼯具!卷起来!

在不断发展的软件开发领域中,确保应⽤程序的可靠性和功能性⾄关重要。 随着软件系统复杂性的增加,有效测试⽅法的需求也在上升。 传统的测试⽤例⽣成⽅法通常⽆法满⾜快速开发周期和复杂代码库的需求。 随着进⼊⼈⼯智能(AI)时…

treejs 3D+echart实现三维旋转炫酷导航网页

treejs 3Dechart实现三维旋转炫酷导航网页https://www.bilibili.com/video/BV1SM4m1C7ki/

行为驱动开源免费接口测试框架:karate

什么是行为驱动测试: 行为驱动测试(Behavior-Driven Testing,简称 BDT)是一种测试方法,旨在通过描述系统行为和功能来编写测试用例。BDT的重点是从用户的角度出发,描述系统应该如何行为,而不是专…

Python代码:四、读入整数数字

1、题目 在学会读入字符串以后,小白还想要读入整数,请你帮他使用input函数读入数字并输出数字与变量类型。 2、代码 import sysa int(input()) print(a, type(a), sep"\n") 3、在sublime运行结果

亚阈值电流镜

相同电流情况下,由于亚阈值区的gm较大,造成由于阈值电压Vth的失配造成的失配会更大,所以要规避过大的gm,选取较大的过驱动电压。 相同电流情况下,W/L的尺寸选的较小一点,或者说L一定时,W不要取得过大。 Q:Vgs一定的情况下,特别小,几乎小于Vth,一定是亚阈值电流镜吗。…

数据结构之栈与队列

一.栈 1.定义:一种线性表,只允许在固定的一端进行删除和插入数据的操作,该端叫栈底,另一端叫栈顶 2.特点:先进后出 注:栈中元素出栈是一对多的(他虽然满足先进后出但是我们可以在pop数据前先获取栈顶元素…

React 第三十二章 虚拟DOM

面试题:什么是虚拟DOM?其优点有哪些? 标准且浅显的答案 虚拟dom本质上就是一个普通的 JS 对象,用于描述视图的界面结构 虚拟 DOM 最早是由 React 团队提出来的,因此 React 团队在对虚拟 DOM 的定义上面有绝对的话语权。…

ASP.NET在线二手交易系统的设计与实现

摘 要 随着当今社会信息技术的进步,基于互联网的各种应用日益受到了人们的重视,二手商品的重新利用也逐渐被人们关注,二手交易系统就在这种形势下产生了,它利用网络,改变了人们的购物方式。 本文是基于现代二手交易…

醉了,面个功能测试,还问我Python装饰器

Python 装饰器是个强大的工具,可帮你生成整洁、可重用和可维护的代码。某种意义上说,会不会用装饰器是区分新手和老鸟的重要标志。如果你不熟悉装饰器,你可以将它们视为将函数作为输入并在不改变其主要用途的情况下扩展其功能的函数。装饰器可…

Git 分支命令操作详解

目录 1、分支的特点 2、分支常用操作 3、分支的使用 3.1、查看分支 3.2、创建分支 3.3、修改分支 3.4、切换分支 3.5、合并分支 3.6、产生冲突 3.7、解决冲突 3.8、创建分支和切换分支说明 1、分支的特点 同时并行推进多个功能开发,提高开发效率。各个分…

[ROS 系列学习教程] 建模与仿真 - URDF 建模实践

ROS 系列学习教程(总目录) 本文目录 一、机器人结构组成二、新建功能包三、编写launch文件四、创建底盘五、添加轮子六、添加其他部件七、解决部分实体位于地面以下的问题 前文介绍了URDF建模与URDF语法,接下来介绍怎么使用URDF从零构建一个机器人模型并在rviz中显示…

网络爬虫安全:90后小伙,用软件非法搬运他人原创视频被判刑

目录 违法视频搬运软件是网络爬虫 如何发现偷盗视频的爬虫? 拦截违法网络爬虫 央视《今日说法》栏目近日报道了一名程序员开发非法视频搬运软件获利超700多万,最终获刑的案例。 国内某知名短视频平台报警称,有人在网络上售卖一款视频搬运…

2024年最新最全面的软件测试面试题(四)

1、在项目中如何保证软件质量? 项目质量不仅仅是某个人或某个团队来保障的,而是整个团队一起努力的结果,因此,在公司级别需要 有一个规范的项目流程。 产品,保证迭代过程中的产品逻辑,对于可能的兼容,升…

C++列表实现

文章目录 一、listView相关内容主要思想实例全部代码 二、QTreeView 一、listView 相关内容 QAbstractItemModel:一个抽象的类,为数据项模型提供抽象的接口,常见的的数据模型列如:QStringListModel,QStandardItemMode,QDirModel…

(实测验证)Gitee代码托管尝试(一)——克隆/下载

一、登录 Gitee(码云)代码托管平台: Gitee - 基于 Git 的代码托管和研发协作平台 新建个人账户如下: 二、SSH 公钥设置 1、在git安装目录打开“git-cmd.exe”; 2、通过命令 ssh-keygen 生成 SSH Key: ssh-keygen …

社区服务用工具建立与居民的强关系

在数字化时代的浪潮下,社区服务不再局限于传统的面对面交流模式,而是借助互联网医疗健康服务应用,尤其是智慧康养服务平台,构建起了与居民之间更为紧密、便捷的联系。这种新型的社区服务模式,不仅提升了服务效率&#…

PDK安装及简介

目录 PDK简介 pdk安装 Standard Cell Library简介 IO Library简介 PDK简介 PDK:全称Process Design Kit,是工艺设计工具包的缩写,是制造和设计之间的沟通桥梁,是模拟电路设计的起始点。 具体来说,PDK是代工厂(FAB…

webhook 和 API:你了解吗

Webhooks 是许多 API 的补充。通过设置 webhook 系统,系统 B 可以注册接收有关系统 A 某些更改的通知。当更改发生时,系统 A 推送 更改到系统 B,通常是以发出 HTTP POST 请求的形式。 Webhooks 旨在消除或减少不断轮询数据的需要。但根据我的…