006、链表分割

0、题目描述

链表分割
在这里插入图片描述

这道题的思路,遍历原链表,小于x的放到一个链表里,大于x的放到另一个链表里。然后把两个链表接起来。
建立的两个新链表都是有哨兵位的,也就是有头结点,排序结束后要free两个头结点。

1、法1

还是三个指针一起走,比x小的放到smailhead里,比x大的放到bighead里。这三个指针分别是smailtail,bigtail,cur
注意要在循环结束之后,最后一个节点的指针要置空,否则就会形成环。

/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};*/
class Partition {
public:ListNode* partition(ListNode* pHead, int x) {//初始化两个带哨兵位头结点的链表,smailhead和bigheadListNode* smailhead, *smailtail, *bighead, *bigtail;smailhead = smailtail = (ListNode*)malloc(sizeof(ListNode));bighead = bigtail = (ListNode*)malloc(sizeof(ListNode));smailhead->next = nullptr;bighead->next = nullptr;ListNode* cur = pHead;//遍历原链表while (cur){if (cur->val < x){smailtail->next = cur;smailtail = smailtail->next;}else {bigtail->next = cur;bigtail = bigtail->next;}cur = cur->next;}//防止形成环bigtail->next = nullptr;//链接两个链表smailtail->next = bighead->next;pHead = smailhead->next;free(smailhead);free(bighead);return pHead;}
};

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

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

相关文章

CSS3 提示框带边角popover

CSS3 提示框带边角popover。因为需要绝对定位子元素&#xff08;这里就是伪元素&#xff09;&#xff0c;所以需要将其设置为相对对位 <!DOCTYPE html> <html> <head> <title>test1.html</title> <meta name"keywords" con…

《C++开发 AR 游戏:开启未来娱乐新潮流》

一、引言 在当今科技飞速发展的时代&#xff0c;增强现实&#xff08;AR&#xff09;技术正以惊人的速度改变着我们的生活和娱乐方式。从智能手机上的 AR 滤镜到沉浸式的 AR 游戏&#xff0c;这项技术的应用越来越广泛。而在众多编程语言中&#xff0c;C以其高效、强大的性能在…

unity的一个bug

最近在写一个弹幕程序需要监听一个开源弹幕软件是否启动&#xff0c;没有启动就把他给启动。但实际上遇到了很多问题&#xff0c;unity这边竟然无法搜寻到 StringBuilder sb new StringBuilder();var all Process.GetProcesses();foreach (var item in all){//Console.WriteL…

格点拉格朗日插值与PME算法

技术背景 在前面的一篇博客中&#xff0c;我们介绍了拉格朗日插值法的基本由来和表示形式。这里我们要介绍一种拉格朗日插值法的应用场景&#xff1a;格点拉格朗日插值法。这种场景的优势在于&#xff0c;如果我们要对整个实数空间进行求和或者积分&#xff0c;计算量是随着变量…

JDK中socket源码解析

目录 1、Java.net包 1. Socket通信相关类 2. URL和URI处理类 3. 网络地址和主机名解析类 4. 代理和认证相关类 5. 网络缓存和Cookie管理类 6. 其他网络相关工具类 2、什么是socket&#xff1f; 3、JDK中socket核心Api 4、核心源码 1、核心方法 2、本地方法 3、lin…

【python_修改PPT中字体,run.font.name只对英文生效怎么办?】

python_修改PPT中字体&#xff0c;run.font.name只对英文生效怎么办&#xff1f; 参考&#xff1a;使用pptx_ea_font库设置中文字体 from pptx import Presentation from pptx.util import Pt from pptx_ea_font import set_font# 打开现有的 PPT 文件 prs Presentation(D:\…

JDK 1.6主要特性

JDK 1.6&#xff0c;也被称为Java 6或Java Platform, Standard Edition 6&#xff0c;是Java编程语言的第六个主要版本&#xff0c;由Sun Microsystems公司在2006年发布。JDK 1.6在JDK 1.5的基础上继续进行了改进和增强&#xff0c;进一步提高了Java的性能和易用性。 主要特性…

SQL Server 2019数据库“正常,已自动关闭”

现象&#xff1a; SQL Server 2019中&#xff0c;某个数据库在SQL Server Management Studio&#xff08;SSMS&#xff09;中的状态显示为“正常&#xff0c;已自动关闭”。 解释&#xff1a; 如此显示&#xff0c;是由于该数据库的AUTO_ CLOSE选项被设为True。 在微软的官…

基于 Konva 实现Web PPT 编辑器(三)

完善公式 上一节我们简单讲述了公式的使用&#xff0c;并没有给出完整的样例&#xff0c;下面还是完善下相关步骤&#xff0c;我们是默认支持公式的编辑功能的哈&#xff0c;因此&#xff0c;我们只需要提供必要的符号即可&#xff1a; 符号所表达的含义是 mathlive 的command命…

电力系统IEC-101报文主要常用详解

文章目录 1️⃣ IEC-1011.1 前言1.2 101规约简述1.3 固定帧格式1.4 可变帧格式1.5 ASDU1.5.1 常见类型标识1.5.2 常见结构限定词1.5.3 常见传送原因1.5.4 信息体地址 1.6 常用功能报文1.6.1 初始化链路报文1.6.2 总召报文1.6.3 复位进程1.8.4 对时1.8.4.1时钟读取1.8.4.2时钟写…

适用于 vue react Es6 jQuery 等等的组织架构图(组织结构图)

我这里找的是 OrgChart 插件; 地址: GitHub - dabeng/OrgChart: Its a simple and direct organization chart plugin. Anytime you want a tree-like chart, you can turn to OrgChart. 这里面能满足你对组织架构图的一切需求! ! ! 例: 按需加载 / 拖拽 / 编辑 / 自定义 / …

基于STM32F407VGT6芯片----跑马灯实验

一、在STM32F407VGT6芯片中配置GPIO环境 对于一个跑马灯实验&#xff0c;首先&#xff0c;要了解的就是&#xff0c;芯片是如何构造出来的&#xff0c;设计GPIO引脚&#xff1a;根据原理图&#xff0c; PC4&#xff0c;PC5,PC6,PC7 为 LED 输出控制管脚&#xff0c;PE0 为蜂鸣…

机器学习面试笔试知识点-线性回归、逻辑回归(Logistics Regression)和支持向量机(SVM)

机器学习面试笔试知识点-线性回归、逻辑回归Logistics Regression和支持向量机SVM 一、线性回归1.线性回归的假设函数2.线性回归的损失函数(Loss Function)两者区别3.简述岭回归与Lasso回归以及使用场景4.什么场景下用L1、L2正则化5.什么是ElasticNet回归6.ElasticNet回归的使…

navicat 3730错误

Navicat 3730 错误通常是由于在执行 SQL 语句时出现了语法错误或者其他问题导致的。具体来说&#xff0c;这个错误通常出现在 Navicat 尝试解析 SQL 语句时发现无法识别的语法或结构错误。 解决步骤 检查 SQL 语句的语法&#xff1a; 确保 SQL 语句语法正确无误。逐条执行 SQL…

嵌套div导致子区域margin失效问题解决

嵌套div导致子区域margin失效问题解决 现象原因解决方法 现象 <div class"prev"></div> <div class"parent"><div class"child"></div><div class"child"></div> </div> <div cl…

浅谈C++的future

std::future 是 C 标准库中的一个模板类&#xff0c;提供了一种机制来管理和获取异步任务的结果。它常与异步操作相关&#xff0c;允许你在不同线程中执行任务&#xff0c;并在将来&#xff08;即“未来”&#xff09;某个时刻获取这些任务的结果。std::future 通常和 std::asy…

如何处理mysql主从延迟

处理 MySQL 主从延迟的问题&#xff0c;可以考虑以下几个方面&#xff1a; 监控延迟&#xff1a; 使用 SHOW SLAVE STATUS 命令查看从库的状态&#xff0c;重点关注 Seconds_Behind_Master 字段&#xff0c;这个值表示从库落后主库的秒数。 优化 SQL 查询&#xff1a; 检查并优…

cisco网络安全技术第3章测试及考试

测试 使用本地数据库保护设备访问&#xff08;通过使用 AAA 中央服务器来解决&#xff09;有什么缺点&#xff1f; 试题 1选择一项&#xff1a; 必须在每个设备上本地配置用户帐户&#xff0c;是一种不可扩展的身份验证解决方案。 请参见图示。AAA 状态消息的哪一部分可帮助…

c++应用网络编程之十二Linux下的epoll模式分析

一、epoll的原理 在上一篇文章基本明白了epoll的入门知识&#xff0c;本篇开始分析一下其内在的原理&#xff0c;让大家对epoll的运行机制有一个真正的了解。其实分析epoll的原理就必须先说明一下epoll在整个网络通信过程中的位置或者说环节&#xff0c;这样才能从整体上对其有…

低代码可视化-uniapp海报可视化设计-代码生成

在uni-app中&#xff0c;海报生成器通常是通过集成特定的插件或组件来实现的&#xff0c;这些插件或组件提供了生成海报所需的功能和灵活性。我们采用了lime-painter海报组件。lime-painter是一款canvas海报组件&#xff0c;可以更轻松地生成海报。它支持通过JSON及Template的方…