面试题. 分割链表

news2024/9/21 2:33:35

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。

你不需要 保留 每个分区中各节点的初始相对位置。

示例 1:

img

输入:head = [1,4,3,2,5,2], x = 3
输出:[1,2,2,4,3,5]

示例 2:

输入:head = [2,1], x = 2
输出:[1,2]

代码如下:

class Solution {
public:
    ListNode* partition(ListNode* head, int x) {
        ListNode* small=new ListNode(0);//定义链表,按顺序存放链表中<x的值
        ListNode* smallHead=small;
        ListNode* large=new ListNode(0);//定义链表,按顺序存放链表中>x的值
        ListNode* largeHead=large;
        while(head!=NULL)
        {
            if(head->val<x)
            {
                small->next=head;//head->val<x,放入small链表中
                small=small->next;//让small链表往后走
            }
            else
            {
                large->next=head;//head->val>x,放入large链表中
                large=large->next;//让large链表往后走
            }
            head=head->next;//遍历head链表
        }
        large->next=NULL;//当前节点复用的是原链表的节点,而其next指针可能指向一个小于x的节点,需要切断这个引用
        small->next=largeHead->next;//small->next指向large链表真正意义上的头节点
        return smallHead->next;//返回排序好之后的头节点

    }
};

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

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

相关文章

C#学习....

1.基础 //引用命名空间using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;//项目名或者命名空间 namespace _01_MY_First_Demo {//Program类class Program{//程序的主入口或者Main函数static void Main(S…

大模型是什么?大模型可以在哪些场景应用落地?

大模型是什么&#xff1f;大模型是指模型具有庞大的参数规模和复杂程度的机器学习模型。在深度学习领域&#xff0c;大模型通常是指具有数百万到数十亿参数的神经网络模型。 大模型是指模型具有庞大的参数规模和复杂程度的机器学习模型。在深度学习领域&#xff0c;大模型通常是…

实验三十、压控振荡电路的测量

一、题目 利用 Multisim 分析图1所示电路&#xff0c;测试各项指标参数。 图 1 压控振荡电路 图1\,\,压控振荡电路 图1压控振荡电路 二、仿真电路 仿真电路如图2(a)所示&#xff0c;其中 A 1 \textrm A_1 A1​ 采用通用型集成运放 LM324AJ&#xff0c; A 2 \textrm A_2 A2​…

Java进阶(2)——结合源码深入理解final关键字,修饰数据,方法,类

目录 引出深入理解final关键字final修饰数据基本数据类型对象的引用空白final final修饰方法final修饰类总结 引出 1.在java源码中较多使用final修饰数据&#xff0c;比如ArrayList的初始长度&#xff1b; 2.final关键字修饰对象的引用的特点理解&#xff1b; 3.了解一下空白fi…

地址在数据线和地址线上怎么传?

如下图所示&#xff0c;对于地址总线&#xff0c;其传输方向是单向的&#xff0c;是只能由CPU发出&#xff0c;即只能用于CPU选择主存地址或I/O端口地址&#xff0c;并不能从主存或IO端口发到CPU。 相关题目&#xff1a; 在系统总线的数据线上&#xff0c;不可能传输的是&am…

试卷去痕迹app分享,轻松擦除答案痕迹

在考试中&#xff0c;不小心写错答案是常有的事情。如果你是用铅笔写的&#xff0c;那么你可以直接用橡皮擦擦除。但如果你是用钢笔或圆珠笔写的&#xff0c;该怎么办呢&#xff1f;现在有一些APP可以帮助你擦除答案&#xff0c;以下是一些值得尝试的APP分享。 1.拍试卷 拍试卷…

堆叠聚合模型与单独的逻辑回归模型处理非平衡数据的比较

堆叠聚合模型与单独的逻辑回归模型处理非平衡数据的比较 堆叠聚合模型的设计是通过训练多个模型&#xff0c;然后使用原模型&#xff0c;将多个模型的输出结果整合在一起以实现更准确的预测。这叠聚合模型在多个临床场景上都表现出优于单一模型的效能[1]。是构建临床预测模型过…

java之juc二

JMM 请你谈谈对Volatile的理解 Volatile是jvm提供的轻量级的同步机制&#xff08;和synchronized差不多&#xff0c;但是没有synchronized那么强大&#xff09; 保证可见性不保证原子性禁止指令重排 什么是JMM JMM&#xff1a;java内存模型&#xff0c;不存在的东西&#…

UE_移动端测试使用

教程流程&#xff1a; 参照官方文档-android篇&#xff1a; https://docs.unrealengine.com/5.1/zh-CN/android-development-requirements-for-unreal-engine/https://docs.unrealengine.com/5.1/zh-CN/android-development-requirements-for-unreal-engine/ AS下载&#xf…

点云滤波介绍

一、介绍 1、Filtering a PointCloud using a PassThrough filter 2、Downsampling a PointCloud using a VoxelGrid filter 3、Removing sparse outliers using StatisticalOutlierRemoval 4、Projecting points using a parametric model 数据集&#xff1a;链接&#x…

mysql mysql 容器 忽略大小写配置

首先能够连接上mysql&#xff0c;然后输入下面这个命令查看mysql是否忽略大小写 show global variables like %lower_case%; lower_case_table_names 0&#xff1a;不忽略大小写 lower_case_table_names 1&#xff1a;忽略大小写 mysql安装分为两种&#xff08;根据自己的my…

移动端身份证识别技术的应用,告别手动录入证件信息

随着移动互联网的的发展&#xff0c;越来越多的公司都推出了自己的移动APP&#xff0c;这些APP多数都涉及到个人身份证信息的输入认证&#xff08;即实名认证&#xff09;&#xff0c;如果手动去输入身份证号码和姓名&#xff0c;速度非常慢&#xff0c;且用户体验非常差。为了…

MotionBERT:人体运动表征

MotionBERT&#xff1a;A Unified Perspective on Learning Human Motion Representations解析 摘要1. 简介2. Related Work2.1 学习人体运动表征2.2 3D人体姿态估计2.3 基于骨骼的动作识别2.3 人体网格恢复 3. Method3.1 Overview3.2 网络架构Spatial BlockTemporal BlockDual…

MybatisPlus整合p6spy组件SQL分析

目录 p6spy java为什么需要 如何使用 其他配置 p6spy p6spy是一个开源项目&#xff0c;通常使用它来跟踪数据库操作&#xff0c;查看程序运行过程中执行的sql语句。 p6spy将应用的数据源给劫持了&#xff0c;应用操作数据库其实在调用p6spy的数据源&#xff0c;p6spy劫持到…

Python项目中怎么实现异步任务和定时任务

这里写目录标题 一、异步任务:二、定时任务:三、Celery介绍特点:Celery由三部分构成:工作原理:安装Celery选择一个Broker:RabbitMQKafka和RabbitMQ的区别:定义一个任务定义第二个任务定义一个生产者(producer) 来 调用异步任务启动celery服务定义一个获取结果的类定时任…

Activiti6

一、Activiti介绍与搭建开发环境 二、运行官方例子 三、编写第一个Activiti程序 3.1 流程部署 代码 /*** 部署流程* 涉及到的表有&#xff1a; * 1.act_ge_bytearray 两条记录&#xff0c;一条xml数据&#xff0c;一条png图片信息 * 2.act_re_deployment 一条记录 * 3.a…

BBS项目day02、注册、登录(登录之随机验证码)、退出登录、密码加密加盐、首页(导航条、模态框,修改密码)

一、注册 1.注册之前端页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册页面</title><!--动态引入文件-->{% load static %}<script src"{% static js/jquery.min.js %…

深度开发者故事 | 华为云API Explorer 自动化运维的得力助手

华为云API Explorer为开发者提供一站式API解决方案统一平台&#xff0c;集成华为云服务所有开放API&#xff0c;支持全量快速检索、可视化调试、帮助文档、代码示例等能力&#xff0c;帮助开发者快速学习API&#xff0c;使用API开发代码实现自动化运维。 体验通道&#xff1a;…

企业数字化时代,数据要素是什么?有什么作用价值?

信息化、数字化社会加速到来&#xff0c;企业纷纷开始布局数字化转型&#xff0c;数字经济将成为未来世界中最为火热的新型经济。 数据报表作为企业数字化转型的代表节点之一&#xff0c;未来会成为数字化企业的基本配置。 要想企业全身心投入数据报表体系建设中&#xff0c;…

个性化定制界面与极简版原装界面:我们为什么选择个性化?

个性化定制界面和极简版原装界面&#xff0c;哪一个你用起来更加顺手呢&#xff0c;相比之下你更喜欢哪一个&#xff1f;来聊一聊原因吧&#xff01; 随着科技的不断发展&#xff0c;人们对于界面设计也有了越来越高的要求。而在界面设计领域&#xff0c;个性化定制界面和极简版…