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

news/2024/7/5 5:40:48

 

题目:

给你一个链表的头节点 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://lihuaxi.xjx100.cn/news/1693131.html

相关文章

MATLAB——概率神经网络分类问题程序

欢迎关注“电击小子程高兴的MATLAB小屋” %% 概率神经网络 %% 解决分类问题 clear all; close all; P[1:8]; Tc[2 3 1 2 3 2 1 1]; Tind2vec(Tc) %数据类型的转换 netnewpnn(P,T); Ysim(net,P); Ycvec2ind(Y) %转换回来

【推荐算法】ctr cvr联合建模问题合集

ctr和cvr分开建模相比ctcvr的优势? 在电商搜索推荐排序中,将ctr和cvr分开建模,相比直接建模ctcvr的优势是什么? - 萧瑟的回答 - 知乎 总结: 1、ctr的数据可以试试获取,能实时训练。但是cvr存在延迟现象&…

万物归宗系列01-html基本语法

万物归宗系列&#xff0c;即什么都懂一点系列。 HTML是标签语言&#xff0c;一般成双成对。 Hypertext Markup Language&#xff1a;超⽂本标记语⾔。是⽤来制作⽹页的⼀种标记语⾔。 1 基本框架 <!DOCTYPE html> <html lang"en"> <head><meta…

从实时数据库转战时序数据库,他陪伴 TDengine 从 1.0 走到 3.0

关于采访嘉宾 在关胜亮的学生时代&#xff0c;“神童”这个称号如影随形&#xff0c;很多人初听时会觉得这个称谓略显夸张&#xff0c;有些人还会认为这是不是就是一种调侃&#xff0c;但是如果你听说过他的经历&#xff0c;就会理解这一称号的意义所在了。 受到教师母亲的影…

React之引入css的方式

一、是什么 组件式开发选择合适的css解决方案尤为重要 通常会遵循以下规则&#xff1a; 可以编写局部css&#xff0c;不会随意污染其他组件内的原生&#xff1b;可以编写动态的css&#xff0c;可以获取当前组件的一些状态&#xff0c;根据状态的变化生成不同的css样式&#…

2023 1019 广州akw,笔试,SPC软件工程师

1. 共用体 共用体的出现主要是为了解决以下两个主要痛点&#xff1a; 内存节省&#xff1a;在一些编程场景中&#xff0c;需要存储多种不同数据类型的数据&#xff0c;但不一定需要同时存储所有这些数据。如果使用独立的变量或结构体来表示这些数据&#xff0c;会浪费内存空间…

在js中常见的时间格式及其转换

在计算机编程中&#xff0c;常见的时间格式有以下几种&#xff1a; 1&#xff1a;ISO 8601 格式&#xff1a;国际标准的日期和时间表示方法。 格式为 “YYYY-MM-DDTHH:mm:ss.sssZ”&#xff0c;其中 “T” 是日期和时间的分隔符&#xff0c;“Z” 表示时区。 例如&#xff0c;…

使用kubekey部署k8s集群和kubesphere、在已有k8s集群上部署kubesphere

目录 前言什么是kubekey&#xff08;简称kk&#xff09;单节点上安装 kubesphere&#xff08;all in one 快速熟悉kubesphere&#xff09;部署 kubernetes和和kubesphere 多节点安装部署 kubernetes和和kubesphere 离线安装k8s v1.22.17和kubesphere v3.3.2联网-在已有k8s集群上…