单链表经典OJ题 :分割链表

news2025/1/4 17:30:27

 

题目:

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

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

图例:

 

本题的意思:

给定一个数值,让每一个节点的内部数据和该数值进行比较,比数值小的节点放在前端,和数值相等的节点放在后端,不在乎是否是有序排列。

解法:

由于本题有着数值之间的比较,和对节点进行顺序上的改动,所以我们选择创造两个链表。

创造的两个链表分别为大链表和小链表,大链表存放等于大于指定值的节点,小链表存放小于指定值的节点,最后把小链表中的最后一个节点中的指针指向大链表的第一个节点。

单链表经典OJ题:合并有序链表-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/2301_76445610/article/details/133913335?spm=1001.2014.3001.5501

  • 且根据之前合并有序链表的经验,我们为了避免代码的重复性,选择使用两条带头链表,以此避免对链表是否为空的重复判断。

注意:

  • 因为创建的是带头链表,所以小链表最终指向的是大链表的第二个节点,且最后返回的是小链表的第二个节点。
  • 以及,我们最后要释放大小链表的带头部分,也就是第一个不能存放数值的节点的空间。

代码演示:

 

  • 在释放带头节点的时候,记得使用临时变量进行删除,当然,对于大链表的带头空间可以直接删除,因为大链表的其他节点以及有指针指向了。
  • 而小链表的带头节点空间内部仍然指向小链表的第一个有效节点,删除了就找不到了,所以使用临时变量进行寄存,然后释放带头空间。

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

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

相关文章

C# Onnx Yolov8 Detect 红绿灯检测

效果 lable GreenCircular GreenLeft GreenRight GreenStraight RedCircular RedLeft RedRight RedStraight 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; usi…

从零开始探索C语言(十二)----预处理器、输入输出及文件读写

文章目录 1. 预处理器1.1 预处理器实例1.2 预定义宏1.3 预处理器运算符1.4 参数化的宏 2. 输入和输出2.1 getchar() & putchar() 函数2.2 gets() & puts() 函数 3. 文件读写3.1 打开文件3.2 关闭文件3.3 写入文件3.4 读取文件3.5 二进制 I/O 函数 4. typedef 和 #defin…

YOLOv8改进实战 | 更换主干网络Backbone之轻量化模型Efficientvit

前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…

【java】【MyBatisPlus】【一】快速入门程序

目录 1、创建空项目mybatisProject 2、创建springboot模块 3、删除多余文件 4、修改pom,引入mybatisplus 5、设置application.yml 6、准备实体Emp 7、创建EmpMapper接口 8、测试MybatisQuickstartApplicationTests 前言:学习MyBatisPlus的基本使…

想要隐藏Word文件内容,如何做?四个方法!

Word文件中有些内容想要隐藏,该如何隐藏?今天分享几个方法给大家 方法一: 最简单的方法,将字体颜色与背景颜色设置为一致的,这样就达到了隐藏的效果,选中文字再修改颜色就可以恢复字体 方法二&#xff1a…

MaaS,云厂商在打一场“翻身仗”

今年以来,大模型的热度,让云计算产业为之沸腾。要举出一个最有力的证明,应该是:MaaS(Model as Service)这种全新模式的出现,一座座“模型工厂”,已经建起来了。 所谓MaaS&#xff0c…

怎样才能去除视频中的背景音乐,保留人声?

做视频剪辑,二次创作的朋友,需要去除视频中的背景音乐,保留人声;或者去除人声,保留背景音乐。如果请身边做视频的朋友帮忙,可有时不能沟通到位,完成后的效果并不是很理想,就很尴尬了…

Leetcode—283.移动零【简单】

2023每日刷题&#xff08;三&#xff09; Leetcode—283.移动零 双指针法yyds&#xff01; void moveZeroes(int* nums, int numsSize){// 双指针法int left 0, right 0;while(right < numsSize) {if(nums[right] ! 0) {int tmp nums[right];nums[right] 0;nums[left]…

【C++】auto 范围for nullptr

目录 一&#xff0c;auto 1&#xff0c;类型别名思考 2&#xff0c;auto 简介 3&#xff0c;auto 的使用细则 1&#xff0c;auto 与指针和引用结合起来使用 2&#xff0c;同一行定义多个变量 3&#xff0c;auto 不能推导的场景 二&#xff0c;基于范围的for循环 1&…

音频信号的频谱分析实例

在前面的文章 信号频谱分析与功率谱密度 中&#xff0c;我们初步探讨了信号频谱分析的概念&#xff0c;并介绍了其数学工具。本篇文章将结合实例&#xff0c;进一步探讨频谱分析在音频信号处理中的应用。 音频信号的频谱分析是一种将时域中的音频信号转换为频域表示的过程&…

华为云CodeArts IDE for Java安装使用教程

本篇内容主要介绍使用华为云CodeArts IDE for Java创建工程、代码补全、运行调试代码、Build构建和测试相关的主要功能。 一、下载安装华为云CodeArts IDE for Java 华为云CodeArts IDE for Java安装要求 至少需要 2 GB RAM &#xff0c;但是推荐8 GB RAM; 至少需要 2.5 GB 硬…

C# Onnx Yolov8 Detect 指纹检测

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace Onnx…

钢水包升降翻转液压系统比例阀放大器

钢水包升降翻转液压系统是一种用于控制钢水包升降和翻转的液压系统。该系统主要由液压泵、液压缸、控制阀和一些辅助元件组成。 钢水包升降翻转液压系统的液压泵将油从油箱中抽出&#xff0c;将油压力提高到一定值&#xff0c;然后通过控制阀将油分配到液压缸中。液压缸内的活…

https证书

SSL证书的作用是确保通过网站传输的数据在客户端和服务器之间是安全、私密的。 它通过建立安全的通信通道来防止数据泄露、中间人攻击以及篡改等安全威胁&#xff0c;提供了身份认证和数据加密的功能。 这样可以确保用户在网站上提交的敏感信息&#xff0c;如个人数据、公司信…

linux常见命令-时间日期类、搜索查找类、压缩和解压类

一、时间日期类 1.date 指令-显示当前日期 基本语法 1) date (功能描述:显示当前时间) 2) date %Y (功能描述:显示当前年份) 3) date %m (功能描述:显示当前月份) 4) date %d (功能描述:显示当前是哪一天) 5) date "%Y-%m-%d %H:%M:%S" (功能描述:显示年月…

0基础学习VR全景平台篇第111篇:全景图拼接和编辑 - PTGui Pro教程

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 前情回顾&#xff1a;上节&#xff0c;我们将源图像导入了PTGui&#xff0c;也设置好了各项参数。 下面我们就开始拼接全景图&#xff0c;并且在编辑器里进行一系列检查错位和设…

Android 如何在Service中使用ViewModel

需求&#xff1a;最近有反馈说&#xff0c;需要在service中使用网络请求&#xff0c;而我网络请求就是封装的ViewModel。然后我就发现&#xff0c;原来service不支持&#xff0c;懵了呀&#xff01;哈哈 还是去看看ViewModel的源码了解下吧。下面有几个介绍的。就不多做赘述了。…

uni-app开发

uni-app 官方手册&#xff1a;uni-app官网 一&#xff1a;tarBar&#xff1a;一级导航栏&#xff0c;即 tab 切换时显示对应页。 在pages.json文件里写入如下代码&#xff1a; 此效果&#xff1a;

ROS学习9:ROS进阶

【Autolabor初级教程】ROS机器人入门 1. action 通信 背景 机器人导航到某个目标点,此过程需要一个节点 A 发布目标信息&#xff0c;然后一个节点 B 接收到请求并控制移动&#xff0c;最终响应目标达成状态信息。乍一看好像是服务通信实现&#xff0c;因为需要 A 发送目标&…